设为首页 收藏本站
查看: 1220|回复: 0

[经验分享] sql 中IsNull函数

[复制链接]

尚未签到

发表于 2018-10-23 08:32:50 | 显示全部楼层 |阅读模式
  介绍IsNull函数语法,注释,返回类型
  语法:
  ISNULL ( check_expression , replacement_value )
  参数:

  •   check_expression
  •   将被检查是否为 NULL 的  表达式。  check_expression 可以为任何类型。
  •   replacement_value
  •   当 check_expression 为 NULL 时要返回的表达式。  replacement_value 必须是可以隐式转换为 check_expresssion 类型的类型。
  返回类型:
  返回与 check_expression 相同的类型。      如果文字 NULL 作为 check_expression 提供,则返回 replacement_value 的数据类型。      如果文字 NULL 作为 check_expression 提供并且未提供 replacement_value,则返回 int。
  注释:
  如果 check_expression 不为 NULL,则返回它的值;否则,在将 replacement_value 隐式转换为 check_expression 的类型(如果这两个类型不同)后,则返回前者。      如果 replacement_value 比 check_expression 长,则可以截断 replacement_value。
  示例
A.将 ISNULL 与 AVG 一起使用
  以下示例查找所有产品的重量平均值。      它用值 50替换 Product表的 Weight列中的所有 NULL 项。
USE AdventureWorks2012;  
GO
  
SELECT AVG(ISNULL(Weight, 50))
  
FROM Production.Product;
  
GO
  下面是结果集:
  --------------------------
  59.79
  (1 row(s) affected)
B.使用 ISNULL
  以下示例选择 AdventureWorks2012中所有特价产品的说明、折扣百分比、最小量和最大量。      如果某个特殊特价产品的最大量为 NULL,则结果集中显示的 MaxQty为 0.00。
USE AdventureWorks2012;  
GO
  
SELECT Description, DiscountPct, MinQty, ISNULL(MaxQty, 0.00) AS 'Max Quantity'
  
FROM Sales.SpecialOffer;
  
GO
  下面是结果集:
  Description       DiscountPct       MinQty      Max Quantity
  ---------------   -------------     --------    ---------------
  No Discount       0.00              0           0
  Volume Discount   0.02              11          14
  Volume Discount   0.05              15          4
  Volume Discount   0.10              25          0
  Volume Discount   0.15              41          0
  Volume Discount   0.20              61          0
  Mountain-100 Cl   0.35              0           0
  Sport Helmet Di   0.10              0           0
  Road-650 Overst   0.30              0           0
  Mountain Tire S   0.50              0           0
  Sport Helmet Di   0.15              0           0
  LL Road Frame S   0.35              0           0
  Touring-3000 Pr   0.15              0           0
  Touring-1000 Pr   0.20              0           0
  Half-Price Peda   0.50              0           0
  Mountain-500 Si   0.40              0           0
  (16 row(s) affected)
C.测试 WHERE 子句中的 NULL
  请勿使用 ISNULL 查找 NULL 值。      而应使用 IS NULL。      下面的示例查找 weight 列中存在 NULL的所有产品。      请注意 IS和 NULL之间的空格。
USE AdventureWorks2012;  
GO
  
SELECT Name, Weight
  
FROM Production.Product
  
WHERE Weight IS NULL;
  
GO
  转自:https://msdn.microsoft.com/zh-cn/en-zh/library/ms184325.aspx



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-625198-1-1.html 上篇帖子: 31. SQL -- 完整性及约束(2) 下篇帖子: 32. SQL -- 管理数据库和数据库表(1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表