如何判断SQL SERVER表中字段为空

sql语句如何判断表中某字段内容为空,或NULL?谢谢useresultselectA001fromtestwhereA001=''orA001isnull这条语句运行结... sql语句如何判断表中某字段内容为空,或NULL?谢谢
use result select A001 from test where A001='' or A001 is null
这条语句运行结果发现有很多不为空的数据也帅选出来了.请教大虾什么原因。。。。
另外我的A001是datetime类型。。。
展开
 我来答
hit_lubin
2011-07-04 · TA获得超过7889个赞
知道大有可为答主
回答量:1554
采纳率:100%
帮助的人:2020万
展开全部
use result
select A001 from test where A001 is null
这个是最标准的判断字段为空的查询。
因为是datetime类型,所以空只能是NULL的情况,不会出现''情况,而且''的情况只能是字符型才可能会有的情况。A001='' 本身就是错误的使用,因为字段是datetime类型。
所以你只需要使用select A001 from test where A001 is null来看看结果。
hy1397471
2015-12-17 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17154
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部
sql server 中使用 is null 或 is not null 来处理列的空值。

语法为:
列名 is null (字段为空返回true ,不为空返回 false)
列名 is not null (字段为空返回false,不为空返回 true)

例:
select case when a is null then 1 else 0 end from aaa

语法大意:如果a列 为空显示1,不为空显示0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wang_ying_li
2011-07-04 · TA获得超过134个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:169万
展开全部
use result select A001 from test where A001='' or isnull(A001,'2011-1-1')='2011-1-1' 你看看这样行不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
quziguang

2011-07-04 · TA获得超过3481个赞
知道大有可为答主
回答量:4965
采纳率:84%
帮助的人:951万
展开全部
SQL server里,01/01/1900 12:00:00 AM 也视为空 ('',不是null)
更多追问追答
追问
没错 就是搜出这个东西来了。。。我知道''这个不是NULL,当我执行
use result select A001 from test where A001='' 时,就会出来你说的那种情况,是不是就想楼上那位说的datetime类型只能 用null来判断为空,还是。。。
再问个问题,如果对这种类型的字段不输入日期,只输入空格键会出现什么 谢谢
追答
空格键 也一样是01/01/1900 12:00:00 AM
你要考虑这里的01/01/1900是不是用户输入空格造成,结果变成01/01/1900?
如果这样,那么你这个sql也没有错(因为你本来就是想找出用户的空白输入)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华佗之父
2011-07-04 · TA获得超过1241个赞
知道小有建树答主
回答量:1623
采纳率:0%
帮助的人:1116万
展开全部
where len(A001)<1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式