例如现查询出数据有10行,如果其中某一行的某一列值是null就过滤掉通常我们写法是select a,b from tab where a is not null or b is not null 但是如果是很多个列这样写下去就很多哦,有没有更好的办法
解决方案 »
- 紧急求救.........sqlserver2000.索引出错.
- 为什么我调试的时候数据库连接没问题,但是输入url时却报错:无法打开登录所请求的数据库 "Test"。登录失败。
- 求一条SQL语句
- 菜鸟求助存储过程语句
- 这样怎么实现?
- SMALLDATETIME类型字段能否为‘空串’???
- 高难度问题,快来抢分呀!!
- 这种序号怎么排序,1.2 1.3 11.5 11.5.2 12.6 12.6.1 13
- 问个小问题关于date型的NULL值
- 如何将两个select得到的结果合成一张表输出
- sql转义字符\ 把数据库中的\r\n直接读取出来
- sql server 中复制表结构索引等 sql 语句实现
or好像不对,应该and
+
利用null的计算逻辑可以处理。
declare @sql varchar(max)
declare @t nvarchar(255)set @t='表名'select @sql=ISNULL(@sql+'and ','')+name+' is not null ' from syscolumns where id=object_id(@t)
exec('select * from '+@t+' where '+@sql)
拼接判断要不写or或and要好些select * from tb where isnull(a,'') + isnull(b,'') + isnull(c,'') != ''