度量快速开发平台-专业、快速的软件定制快开平台

标题: sql where 1=1 和 where 1=0的作用 [打印本页]

作者: 张兴康    时间: 2020-5-24 13:56
标题: sql where 1=1 和 where 1=0的作用
看到很多sql语句后边都有一个 where 1=1 一开始不太理解为什么要这样写,上网查询了下才明白是怎么回事。


where 1=1的用处
用于动态SQL
例如 lv_string := 'select tbl_name,tbl_desc from tbl_test where 1=1 '||l_condition;
当用户选择了查询的名称'abc'时l_condition :='and tbl_name = ''abc'''';但是当用户没有
选择名称查询时l_condition就为空 这样 lv_string = 'select tbl_name,tbl_desc from tbl_test
where 1=1 ' ,运行也不会出错,相当于没有限制名称条件。但是如果没有1=1的条件,则lv_string =
'select tbl_name,tbl_desc from tbl_test where ';这样就会报错。


where 1=0;
这个条件始终为false,结果不会返回任何数据,只有表结构,可用于快速建表 "SELECT * FROM strName WHERE 1 = 0"; 该select语句主要用于读取表的结构而不考虑表中的数据,这样节省了内存,因为可以不用保存结果 集。   create table newtable as select * from oldtable where 1=0;  创建一个新表,而新表的结构与查询的表的结构是一样的

作者: 张兴康    时间: 2020-5-24 13:56
自顶一个
作者: 万望    时间: 2020-5-24 20:21
不错,相当清楚啦
作者: 陈晓龙    时间: 2020-5-24 21:04
小伙子很注意细节呀!
作者: 王爱东    时间: 2020-5-24 22:15
细节决定成败!小伙子不错。
作者: 张兴康    时间: 2020-5-25 17:35
陈晓龙 发表于 2015-12-24 21:04
小伙子很注意细节呀!

房子是由一砖一瓦建起了的
作者: 陈晓龙    时间: 2020-5-25 21:32
张兴康 发表于 2015-12-25 17:35
房子是由一砖一瓦建起了的

你说的是农村的房子?




欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://p.delit.cn/) Powered by Discuz! X3.2