这样?
If (a = '' or a is null or a = 'abc') and (b = '' or b is null or b = 'def')
If (a = '' or a is null or a = 'abc') and (b = '' or b is null or b = 'def')
解决方案 »
- pivot 和动态行转列 哪个效率高?
- JAVA连接数据库总是连接不上,请大家帮帮忙,下个星期交项目了。。
- 请教高手一个多表操作的sql
- 这情况怎么用ROW_NUMBER()写sql
- 初学者简单问题关于存储过程 一句话解释一下分拿走
- 合并复制只下载更改不上载更改是什么原因?
- 如何用SQL语句返回CUP信息
- 有办法在win 2000 Professional 上完全安装SQL Server 2000包括服务器端和客户端???
- 关于SQL最多关键字排序问题
- 下面语句有什么问题吗??
- DB2数据库中查寻数据后,更新到SQLServer2005后,部分全角字符变成了"?".
- select * from zh_ziliao where ziliaosign in (ggyy,wl,china)
If(Isnull(a,'')='' or a='abc') and (Isnull(b,'')='' or b='def')
case when Isnull(a,'')='' or a='abc' then ...
when b = '' or b is null or b = 'def' then ...
end
....If isnull(b,'') in ('','def')
/* 这是一个条件 */
If a = '' or a is null
exec(@sql1+@sql2+@sql3)
Else
exec(@sql1+@sql2+@sql3+@a)
/* 这是另一个条件 */
If b = '' or b is null
exec(@sql1+@sql2+@sql3)
Else
exec(@sql1+@sql2+@sql3+@b) 注意,我只是表达一下意思,上面的exec内容大家不需理会,因为条件A和B可能有多种组合方式,也就是A可能为空,B不为空;A不为空,B不为空;A,B均不为空...等多种组合关系
if isnull(a,'')='' then
begin
if isnull(b,'')='' then
........
if isnull(b,'')<>'' then
.........
end
else
begin
if isnull(b,'')='' then
........
if isnull(b,'')<>'' then
.........
end