SQL where 1=1的作用
浅谈where 1=1
1、简单理解的话where 1=1 永真, where 1<>1 永假
2、1<>1 的用处:
用于只取结构不取数据的场合
例如:
create table table_temp tablespace tbs_temp as
select * from table_ori where 1<>1
建成一个与table_ori 结构相同的表table_temp,但是不要table_ori 里的数据。(除了表结构,其它结构也同理)
3、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 ';这样就会报错。
4、where 1=1就是条件永远为真,查出所有数据来 在组合查询条件时候多用,主要是为了便于动态连接后续条件
String sql="select * from user where 1=1 ";
if(username!=null){
sql=sql+ " and username='"+username+"'";
}
if(password!=null){
sql=sql+ " and password='"+password+"'";
}
转:http://blog.csdn.net/fanyuna/article/details/5972437
SQL where 1=1的作用的更多相关文章
- NSPredicate用法总结(Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取)
简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 定义(最常用到的方法): NSPredicate *ca = [NSPred ...
- sql中视图视图的作用
视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态 ...
- PCB MS SQL CLR聚合函数(函数作用,调用顺序,调用次数) CLR说明
用CLR写函数:标量函数,表值函数 很好理解,如果用聚合函数则不是那么好理解了, 这里将CLR函数说明一下,其实关键是对聚合函数说明 用CLR写聚合函数关键点,是要理解CLR与SQL是如何进行数据交互 ...
- mybatis 07: sql标签中 "#{}" 和 "${}" 的作用和比较
"#{}"占位符 作用 传参大部分使用"#{}",在数据库底层使用的是:PreparedStatement预编译处理对象 数据库底层被解析为"?&qu ...
- sql server 的约束的作用 于 理解 [转]
SQL Server中的约束用来确保系统的完整性.一般约束可以分为:主键约束外键约束检查约束默认约束唯一约束非空约束 但是一般我们需要特别注意前三种约束:主键约束,一就是说跟你系统的实体有很大的关系, ...
- sql语句中having的作用是?
HAVING对由sum或其它集合函数运算结果的输出进行限制.比如,我们可能只希望看到Store_Information数据表中销售总额超过1500美圆的商店的信息,这时我们就需要使用HAVING从句. ...
- SQL Server 除法 不起作用的问题
SELECT CASE WHEN aa.itax is NULL THEN aa.fskje ELSE aa.fskje / ( 1 + (tjob.itax / ...
- [sql]SET NOCOUNT ON 的作用
使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息. 说明: 场景1:(不使用SET NOCOUNT) 场景2:(使用SET NOCOUNT ON ) 场景3:(使用SET N ...
- LINQ to SQL Where条件
1. 适用场景 实现条件的过滤和查询等功能. 2. 说明 跟SQL语句中的where作用相似,都起到了范围的限定即过滤的作用,而判断条件是紧跟后面的条件子句.where主要分为三种形式:简单形式.条件 ...
随机推荐
- Perl system(cmd) 和 `cmd` 的区别探讨
在perl中系统调用有两种方式,一种是system(cmd),另一种是`system`以前一直没注意,这两种方式的区别,还以为是一样的,今天写脚本的时候,忽然想要获取命令的返回值,然后,用了my $r ...
- 用C#将输入的小写字母转化为大写字母
string A = "adsaf"; string B =""; B=A.ToUper();
- class 文件与dex文件区别 (dvm与jvm区别)及Android DVM介绍
区别一:dvm执行的是.dex格式文件 jvm执行的是.class文件 android程序编译完之后生产.class文件,然后,dex工具会把.class文件处理成.dex文件,然后把资源文件和 ...
- shell下root用户切换其他用户运行程序
工作中,一些程序,需要随机启动,但是不是以root用户运行,于是需要在rc.local中通过shell,从root用户切换到其他用户运行程序,命令如下: su -c 'command' - user ...
- iphone dev 入门实例1:Use Storyboards to Build Table View
http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/ Creating Navig ...
- python 虎扑注册检查脚本
ulipad,看着蛮舒服的. 图里的代码就是今天晚上的成果. 突然就想看看python这个被很多人说是优雅的语言,于是晚上没事就配了配环境,做了个东西 #encoding: utf-8 import ...
- setValue:forUndefinedKey
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewControlle ...
- [CSS]当选择器没有指定元素时
当选择器没有指定元素时,样式会作用于(匹配)所有html元素. 如下面代码: <!DOCTYPE html> <html> <head> <style> ...
- UVA 133 The Dole Queue
The Dole Queue 题解: 这里写一个走多少步,返回位置的函数真的很重要,并且,把顺时针和逆时针写到了一起,也真的很厉害,需要学习 代码: #include<stdio.h> # ...
- DDoS-Deflate安装及配置
(D)DoS-Deflate是一款免费的用来防御和减轻DDoS攻击.它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限制时,该程序会通过APF或iptables禁止或 ...