mssql sqlserver关于sql语句中加 1=1 的条件的功能说明


摘要:
在sql脚本编写中,我们经常发现一些sql条件在检索时,都会在where条件后加入1=1的相关说明,
那么1=1的具体功能是什么呢? 下文将通过举例的方式,一一讲述1=1的功能

1=1 恒等式被加入条件时,表示检索永远为真,
1=1 检索条件主用于拼接字符串时, 可避免后面的条件都为空时,导致where查询条件操作异常.

例:

    declare @sql nvarchar(4000)
    set @sql ='
    select * from [数据表]
     where 1=1 '

    if [条件1] !=''
    begin
     set @sql = @sql +' and [列1] ='''+[条件1]+''' '
    end
    
    if [条件2] !=''
    begin
     set @sql = @sql +' and [列2] ='''+[条件2]+''' '
    end