查询SQL的null与''

测试数据库  SQL2005

简单的问题  今天正好有朋友问了下 就简单的写下~~

数据表 ApplyInfo   age 为 varchar(64)

id  age

1   null

2  

3   18

<-- 查询不为''  得到的结果为id3   也就是说!=''包含了  ''和null  -->
SELECT  *
  FROM [ApplyInfo]  where age !=''

<-- 查询为''  得到的结果为id2   也就是说=''只包含了  '  但却不包含null -->
SELECT  *
  FROM [ApplyInfo]  where age =''

<-- 查询不为null  得到的结果为id2和3   也就是说is not null 只去掉了null的值   -->
SELECT  *
  FROM [ApplyInfo]  where age is not null 

<-- 查询为null  得到的结果为id1   也就是说is  null 只得到为null的值   -->
SELECT  *
  FROM [ApplyInfo]  where age is  null 

<--让null变为0   得到的结果 id1 的age变为0     -->
SELECT  isnull(age,0)
  FROM [ApplyInfo]  

<--查询空值 切记不能用 =null  要用is null  否则查不出任何值 -->
SELECT  *
  FROM [ApplyInfo]  where age = null 
另外提醒大家 在ado.net  时  记得区分 C#的null  和  SQL的  dbNull
posted on 2011-06-10 15:27  wlf  阅读(5194)  评论(1编辑  收藏  举报