对空功能在SQL中的应用介绍
空用指定的替换值替换null。
语法
isnull(check_expression,replacement_value)
参数
check_expression
一个表达式,将检查null.check_expression可以是任何类型。
replacement_value
表达时将返回check_expression是null.replacement_value必须具有相同的类型check_expresssion。
返回类型
返回类型为check_expression相同。
笔记
如果check_expression不为空,则表达式的返回值;否则,返回replacement_value。
样品
A.使用IsNull AVG
下面的示例查找所有图书的平均价格,并将标题表的价格列中的所有空条目替换为值10美元。
使用酒吧
去
选择AVG(isnull(价格10美元))
从标题
去
下面是结果集:
--------------------------
十四点二四
(1行(s)受影响)
B.使用ISNULL
下面的示例选择标题表中所有图书的标题、类型和价格。如果图书名称的价格为空,结果集中的价格为0。
使用酒吧
去
选择子串(标题1, 15)作为标题,类型类型,
isnull(价格0)价格
从标题
去
下面是结果集:
标题型价格
-----------------------------------------------------
忙碌的执行业务19.99
与同事一起做饭11.95
你可以打击商业2.99
直接谈生意19.99
硅谷mod_cook 19.99
美食的MIC mod_cook 2.99
心理学未定
SQL isnull(),(),ifnull(NVL)、合并()函数
请看下面的产品表:
p_id
产品名称
單價
库存量
unitsonorder
一
电脑类
六百九十九
二十五
十五
二
打印机
三百六十五
三十六
三
电话
二百八十
一百五十九
五十七
如果unitsonorder 是可选的,它也可以包含空值。
我们使用下面的SELECT语句:选择产品名称、单价*(unitsinstock + unitsonorder)
从产品
在上面的例子中,如果unitsonorder 的值为空,则返回NULL。
微软isnull()函数来指定如何处理空值。
NVL(),ifnull()和合并()函数也可以达到同样的效果。
在这里,我们希望null值为0。
下面,如果unitsonorder 是无效的,是不好计算,所以如果值为空则空()返回0。
SQL Server / MS访问
选择产品名称、单价*(unitsinstock +空(unitsonorder,0))
从产品
甲骨文公司
甲骨文没有isnull()的功能。但是,我们可以使用NVL()函数来实现相同的结果:选择产品名称、单价*(unitsinstock + NVL(unitsonorder,0))。
从产品
MySQL
MySQL也有一个功能类似IsNull(),但它的工作方式是从微软的空点不同()函数。
在MySQL数据库中,我们可以使用ifnull()函数,如:选择产品名称、单价*(unitsinstock + ifnull(unitsonorder,0))。
从产品
或者我们可以使用COALESCE()函数是这样的:选择产品名称、单价*(unitsinstock +合并(unitsonorder,0))
从产品