关于NULL值,到底有何良方??? select * from table where name is null 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IS [NOT] NULL确定一个给定的表达式是否为 NULL。语法expression IS [ NOT ] NULL参数expression是任何有效的 Microsoft® SQL Server™ 表达式。 NOT指定布尔结果取反。谓词反转其返回值,值不为 NULL 时返回 TRUE,值为 NULL 时返回 FALSE。结果类型布尔型返回代码值如果 expression 的值是 NULL,则 IS NULL 返回 TRUE;否则,返回 FALSE。如果 expression 的值是 NULL,则 IS NOT NULL 返回 FALSE;否则,返回 TRUE。注释若要确定表达式是否为 NULL,请使用 IS NULL 或 IS NOT NULL,而不要用比较运算符(例如 = 或 !=)。如果有一个参数为 NULL 或两个参数都为 NULL,那么比较运算符返回 UNKNOWN。 示例在下面的示例中,对于所有预付款少于 $5,000 或者预付款未知(或为 NULL)的书,返回它们的书号及预付款。请注意,显示的结果是在示例 C 执行后所返回的那些结果。USE pubsSELECT title_id, advanceFROM titlesWHERE advance < $5000 OR advance IS NULLORDER BY title_id下面是结果集:title_id advance -------- -------------------------- MC2222 0.0000 MC3026 NULL PC9999 NULL PS2091 2275.0000 PS3333 2000.0000 PS7777 4000.0000 TC4203 4000.0000 (7 row(s) affected) 如果是30呢? where a = '' and b ='' and c='' .....是否要写成 where a = '' or a is null and b = '' or b = null and c ='' or c is null? select * from table where isnull(name, '') = ''ISNULL使用指定的替换值替换 NULL。语法ISNULL ( check_expression , replacement_value ) 参数check_expression将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。replacement_value在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。 返回类型返回与 check_expression 相同的类型。注释如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。 如此说来,还是要写30个 isnull(xxx,'') = '':( i think it may be could be limited by one simple phrase...thanks anyway 存储过程查询问题 求助!如何确保 存储过程完整执行??? 怎样用一条语句实现按当前时间多个条件的update 在vc 通过ADO方式连接SQL Server 2000时 连接字符到底有哪几种写法呀? sql语句优化 这个SELECT语句不会写? 高分求教,顶者有分~ 请教个数据库的工具,我不知道是否有这种工具. 临时表会不会影响性能? ◆SQL只用一句话欲得到这种结果该怎么写呢? 语句的困惑 一个关于sum 的问题
确定一个给定的表达式是否为 NULL。语法
expression IS [ NOT ] NULL参数
expression是任何有效的 Microsoft® SQL Server™ 表达式。 NOT指定布尔结果取反。谓词反转其返回值,值不为 NULL 时返回 TRUE,值为 NULL 时返回 FALSE。结果类型
布尔型返回代码值
如果 expression 的值是 NULL,则 IS NULL 返回 TRUE;否则,返回 FALSE。如果 expression 的值是 NULL,则 IS NOT NULL 返回 FALSE;否则,返回 TRUE。注释
若要确定表达式是否为 NULL,请使用 IS NULL 或 IS NOT NULL,而不要用比较运算符(例如 = 或 !=)。如果有一个参数为 NULL 或两个参数都为 NULL,那么比较运算符返回 UNKNOWN。 示例
在下面的示例中,对于所有预付款少于 $5,000 或者预付款未知(或为 NULL)的书,返回它们的书号及预付款。请注意,显示的结果是在示例 C 执行后所返回的那些结果。USE pubs
SELECT title_id, advance
FROM titles
WHERE advance < $5000 OR advance IS NULL
ORDER BY title_id下面是结果集:title_id advance
-------- --------------------------
MC2222 0.0000
MC3026 NULL
PC9999 NULL
PS2091 2275.0000
PS3333 2000.0000
PS7777 4000.0000
TC4203 4000.0000 (7 row(s) affected)
where a = '' and b ='' and c='' .....是否要写成 where a = '' or a is null and b = '' or b = null and c ='' or c is null
?
使用指定的替换值替换 NULL。语法
ISNULL ( check_expression , replacement_value ) 参数
check_expression将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。replacement_value在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。 返回类型
返回与 check_expression 相同的类型。注释
如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。
thanks anyway