北京SEO

sql isnull函数在各种数据库中的用法分析

2019/10/10/17:33:01  阅读:2327  来源:谷歌SEO算法  标签: SEO教程

本文章介绍了现在主流的数据库中使用is null函数是一些区别和事项,有需要的朋友可以简单的参考一下.

isnull在数据库查询中的应用,特别是再语句连接的时候需要用到,比如连接时候,某个字段没有值但是又要左连接到其他表上 就会显示空,isnull可以判断是否是NULL,如果是给个默认值:

isnull("字段名","默认的数据")

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.

示例:A.将 ISNULL 与 AVG 一起使用,下面的示例查找所有书的平均价格,用值 $10.00 替换 titles 表的 price 列中的所有 NULL 条目,代码如下:

  1. USEpubs
  2. GO
  3. SELECTAVG(ISNULL(price,$10.00))
  4. FROMtitles
  5. GO
  6. 下面是结果集:
  7. --------------------------
  8. 14.24
  9. (1row(s)affected)

B.使用 ISNULL,下面的示例为 titles 表中的所有书选择书名、类型及价格,如果一个书名的价格是 NULL,那么在结果集中显示的价格为 0.00,代码如下:

  1. USEpubs
  2. GO
  3. SELECTSUBSTRING(title,1,15)ASTitle,typeASType,
  4. ISNULL(price,0.00)ASPrice
  5. FROMtitles
  6. GO
  7. --下面是结果集:
  8. --phpfensi.com
  9. TitleTypePrice
  10. -----------------------------------------------------
  11. TheBusyExecutbusiness19.99
  12. CookingwithCobusiness11.95
  13. YouCanCombatbusiness2.99
  14. StraightTalkAbusiness19.99
  15. SiliconValleymod_cook19.99
  16. TheGourmetMicmod_cook2.99
  17. ThePsychologyUNDECIDED0.00
  18. ButIsItUserpopular_comp22.95
  19. SecretsofSilipopular_comp20.00
  20. NetEtiquettepopular_comp0.00
  21. ComputerPhobicpsychology21.59
  22. IsAngertheEnpsychology10.95
  23. LifeWithoutFepsychology7.00
  24. ProlongedDatapsychology19.99
  25. EmotionalSecurpsychology7.99
  26. Onions,Leeks,trad_cook20.95
  27. FiftyYearsintrad_cook11.95
  28. Sushi,Anyone?trad_cook14.99
  29. (18row(s)affected)

国外一些说明:

In the example above, if any of the "UnitsOnOrder" values are NULL, the result is NULL.

Microsoft's ISNULL() function is used to specify how we want to treat NULL values.

The NVL(), IFNULL(), and COALESCE() functions can also be used to achieve the same result.

In this case we want NULL values to be zero.

Below, if "UnitsOnOrder" is NULL it will not harm the calculation, because ISNULL() returns a zero if the value is NULL:

SQL Server / MS Access,代码如下:

  1. SELECTProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
  2. FROMProducts
  3. Oracle

Oracle does not have an ISNULL() function. However, we can use the NVL() function to achieve the same result,代码如下:

  1. SELECTProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
  2. FROMProducts
  3. MySQL

MySQL does have an ISNULL() function.However, it works a little bit different from Microsoft's ISNULL() function.

In MySQL we can use the IFNULL() function, like this:SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))

FROM Productsor we can use the COALESCE() function, like this:代码如下:

  1. SELECTProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
  2. FROMProducts

广告内容

sql isnull函数在各种数据库中的用法分析 sql isnull函数在各种数据库中的用法分析 sql isnull函数在各种数据库中的用法分析

相关阅读

热门评论

卢松松博客 卢松松博客

关注创业者、自媒体人和站长的网站

总篇数167

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法