SQL中WHERE 1=1的作用
来源:互联网 发布:淘宝外设天下假货 编辑:程序博客网 时间:2024/05/16 15:58
个人认为这篇文章写的非常好,用例子把道理说的非常明白,所以转了,希望对大家有所帮助。
1=1或者'a'='a'等等恒等式是T-SQL中表达true的方法。因为在T-SQL中没有true这样的关键字或值,所以需要借助这些恒等式来表达true的概念。
相对的,同样可以使用1<>1或者1=2等来表达false。
在应用程式的安全性方面,使用这些式子是SQL注入的基本原理,所以在拼接SQL语句的时候要过滤各种各样的敏感字符。
当然,这些式子也有有用的地方。今天看到一个挺有用的小技巧:
从一张表查询一些记录,这些记录是根据name, age, height, weight来进行过滤得。但是,具体过滤条件的个数是不确定的,比如有时候会是name和age的组合,有时候会是name, height和weight的组合,甚至有时候没有任何条件。
怎么办?
一般性的拼接SQL语句的方法会需要做一个判断:在第一个条件前面加上WHERE关键字。但是,这样做会需要添加一组判断的逻辑,以检验是否当前的条件是第一个条件。
这里,引进WHERE 1=1就可以很好的省略掉上述的判断逻辑。
怎么做呢?代码如下:
string query = "SELECT * FROM USERINFO WHERE 1=1"
if (_name != string.Empty)
{
query += " and name='" + _name + "'";
}
if (_age != string.Empty)
{
query += " and age='" + _age + "'";
}
if (_height != string.Empty)
{
query += " and height='" + _height + "'";
}
if (_weight != string.Empty)
{
query += " and weight='" + _weight + "'";
}
当然,最好还是不要去拼接SQL语句咯,直接使用ADO的对象是最省事的方法。
- T-SQL中WHERE 1=1的作用
- SQL中WHERE 1=1的作用
- SQL中where 1=1 的作用
- sql语句中where 1=1的作用
- sql语句中where 1=1的作用
- SQL中where 1=1语句的作用
- SQL语句中where 1=1的作用(正解)
- sql语句中where 1=1的作用
- sql语句中where 1=1 的作用
- sql中where 1=1或2的作用
- sql中where 1=1 和where 0=1的作用
- sql语句中where 1=1 和 where 1 = 0的作用
- SQL 中 where 1=1 和 1=0的 作用
- SQL 中 where 1=1 和 1=0的 作用
- 浅淡SQL中where 1=1和0=1的作用
- 数据库中 where 1=1和 0=1 的作用 (Sql , Orcale)
- 浅淡SQL中where 1=1和0=1的作用
- 浅淡SQL中where 1=1和0=1的作用
- Windows下BOOST库的编译(个人备注)
- Ubuntu Server 10.04 安装图形界面GDM
- core文件的简单介绍
- 国际间支付通道冲突 促国内银行卡芯片化加速
- REG文件全面解析
- SQL中WHERE 1=1的作用
- Silverlight调用自定义的Web Service从数据库获取数据进行页面绑定
- java中abstract怎么使用
- 从Sql server 2008获取表字段属性信息,注释信息
- Flex DataGrid 固定列宽度
- windows远程控制linux
- 使用元对象编译器
- Jira 内存溢出解决
- CSS样式中class和id的区别和含义