sql 一条记录中 如何判断多个字段中的两个字段不为空

例如:表TABLE1有5个字段:COL1、COL2、COL3、COL4、COL5要求COL1、COL2、COL3三个字段中必须有2个字段不为空,如何写SQL脚本语句?要求... 例如:
表TABLE1 有5个字段:COL1、COL2、COL3、COL4、COL5
要求COL1、COL2、COL3三个字段中必须有2个字段不为空,如何写SQL脚本语句?
要求是select ....from TABLE1 where ..的格式
注意是判断同一条记录中的字段情况,以COL5=‘123456’为主键查询:
SELECT ....FROM TABLE1 WHERE COL5='123456' .....

例如:
SELECT * FROM TABLE1
WHERE COL5='123456'
and ((COL1!='' AND COl2!='') OR (COL2!='' AND COL3!='') OR (COL1!='' AND COL3!=''))
这个我想到了,不过“and ((COL1!='' AND COl2!='') OR (COL2!='' AND COL3!='') OR (COL1!='' AND COL3!=''))”这个有点长了,还有别的方法没有?
我知道还有:
SELECT CASE WHEN ((COL1!='' AND COl2!='') OR (COL2!='' AND COL3!='') OR (COL1!='' AND COL3!='')) THEN 1 ELSE 0 END WHERE COL5='123456' ;
这个也是长点了,我希望的是能简单点,不要太长的
展开
 我来答
百思卜得其解
推荐于2017-10-01 · TA获得超过122个赞
知道小有建树答主
回答量:132
采纳率:100%
帮助的人:55万
展开全部
简单无脑点的就这样
SELECT * FROM TABLE1
WHERE COL5='123456'
and (COL1!='' or COl2!='')
and (COL2!='' or COL3!='')
and (COL1!='' or COL3!='')
追问
你说的是这个吧:
SELECT * FROM TABLE1
WHERE COL5='123456'
and ((COL1!='' AND COl2!='') OR (COL2!='' AND COL3!='') OR (COL1!='' AND COL3!=''))
追答
我没有什么好招了!我想这应该是最简单的了吧
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
汐日南莘
推荐于2017-10-01 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1.6万
采纳率:45%
帮助的人:7664万
展开全部
数据库中空字段分为

NULL ''
判断是否为NULL时用 IS NULL
判断是否为'' 用!=''
比如

select * from table where value !='';
select * from table where date IS NOT NULL;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式