返回目录:excel表格制作
SELECT COALESCE('',0) 度 结专果0
SELECT COALESCE(' ',0) 结果0
SELECT COALESCE(null,0) 结果0
SELECT COALESCE(123,0) 结果123
SELECT ISNULL('',0) 结果''
SELECT ISNULL(null,0) 结果0
SELECT ISNULL(123,0) 结果123
由结果结果可以看出COALESCE函数对于空值处理和NULL值都起作用属。
1,语法 :
ISNULL ( check_expression , replacement_value )
2,参数 :
check_expression**
将被检查是否为 NULL的表达e68a84e79fa5e98193364式。check_expression 可以是任何类型的。
replacement_value
在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与check_expresssion 具有相同的类型。
3,返回类型 :
返回与 check_expression 相同的类型。
4,注释 :
如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。
5,示例 :
将 ISNULL 与 AVG 一起使用
*下面的示例查找所有书的平均价格,用值 $10.00 替换 titles 表的 price 列中的所有 NULL 条目。
USE pubs
GO
SELECT AVG(ISNULL(price, $10.00))
FROM titles
GO*
扩展资料:
Oracle 没有 ISNULL() 函数。不过,可以使用 NVL() 函数达到相同的结果。
MySQL 也拥有类似 ISNULL() 的函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。
在 MySQL 中,我们可以使用 IFNULL() 函数。
参考资料:百度百科-IsNull
因为一般情况下将任何值(包括NULL本身)与NULL做比较的时候,都会返回UnKnown。知而在查询表达式中(比如where与having中),UnKnown会视为道false。所以select * from 表 where 字段=null查不到正确的结果。
在sql中内要查询某列值为null的所有结果集时,查询条件应该这样写:
select * from 表 where 字段 is null
扩展资料:
注意事项
并不是在所有场情下UnKnown都会视为false来处理,在check约束中,UnKnown就会视为true来处理。这就是为什么设置某个字段的值必须大于等于0的情况下,还可以往该字段中插入Null值,那是因为在check约束中null>=0的逻辑结果UnKnown会被当作true来处理。
需要注意的是,在分组子句与排序子句中,sql视null是相等的,即:
1、GROUP BY会把容所有NULL值分到一组。
2、ORDER BY会把所有NULL值排列在一起。
select * from [表名$] where 字段 isnull