当前位置: 首页 > news >正文

SQLServer中使用ISNULL替换为指定的替换值

ISNULL (Transact-SQL)

适用于:

  • SQL Server
  • Azure SQL 数据库
  • Azure SQL 托管实例
  • Azure Synapse Analytics 分析平台系统 (PDW)
  • Microsoft Fabric 中的 SQL 分析端点
  • Microsoft Fabric 中的仓库

NULL替换为指定的替换值。

1、语法

ISNULL ( check_expression , replacement_value )

2、参数

check_expression
要检查NULL的表达式。 check_expression 可以是任何类型 。replacement_value
如果 check_expression 为 NULL,则返回的表达式 。 replacement_value 必须是可隐式转换为 check_expression 类型的类型 。

3、返回类型

返回与该 check_expression 相同的类型 。 如果文本NULL作为check_expression提供,ISNULL则返回replacement_value的数据类型。 如果文本作为check_expression提供,并且未提供任何replacement_value,ISNULL则返回 intNULL

4、注解

如果NULL不是,则返回check_expression的值。 否则,如果类型不同,则会在隐式转换为check_expression类型后返回replacement_value。 如果 replacement_value 长于 check_expression,则可能截断 replacement_value 。

5、示例

本文中的 Transact-SQL 代码示例使用 AdventureWorks2022 或 AdventureWorksDW2022 示例数据库

5.1、将 ISNULL 与 AVG 配合使用

以下示例查找所有产品的重量平均值。 它将替换表列中Product所有NULL条目Weight的值50。

USE AdventureWorks2022;
GO
SELECT AVG(ISNULL(Weight, 50)) AS Avg_Weight
FROM Production.Product;
GO
-- 返回执行结果
Avg_Weight
---------------------------------------
59.790059(1 行受影响)

5.2、使用 ISNULL

以下示例选择 AdventureWorks2022 中所有特价产品的说明、折扣百分比、最小量和最大量。 如果特定特殊产品/服务NULL的最大数量为,MaxQty则结果集中所示。0.00

USE AdventureWorks2022;
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 11 to 14                                     0.02                  11          14
Volume Discount 15 to 24                                     0.05                  15          24
Volume Discount 25 to 40                                     0.10                  25          40
Volume Discount 41 to 60                                     0.15                  41          60
Volume Discount over 60                                      0.20                  61          0
Mountain-100 Clearance Sale                                  0.35                  0           0
Sport Helmet Discount-2002                                   0.10                  0           0
Road-650 Overstock                                           0.30                  0           0
Mountain Tire Sale                                           0.50                  0           0
Sport Helmet Discount-2003                                   0.15                  0           0
LL Road Frame Sale                                           0.35                  0           0
Touring-3000 Promotion                                       0.15                  0           0
Touring-1000 Promotion                                       0.20                  0           0
Half-Price Pedal Sale                                        0.50                  0           0
Mountain-500 Silver Clearance Sale                           0.40                  0           0(16 行受影响)

以下示例使用ISNULL字符串None替换NULL其Color值

USE AdventureWorks2022;
GO
SELECT ProductID,Name,ProductNumber,ISNULL(Color, 'None') AS Color
FROM Production.Product;-- 返回执行结果
ProductID   Name                                               ProductNumber             Color
----------- -------------------------------------------------- ------------------------- ---------------
1           Adjustable Race                                    AR-5381                   None
2           Bearing Ball                                       BA-8327                   None
3           BB Ball Bearing                                    BE-2349                   None
4           Headset Ball Bearings                              BE-2908                   None
316         Blade                                              BL-2036                   None
317         LL Crankarm                                        CA-5965                   Black
318         ML Crankarm                                        CA-6738                   Black
319         HL Crankarm                                        CA-7457                   Black
320         Chainring Bolts                                    CB-2903                   Silver
321         Chainring Nut                                      CN-6137                   Silver
322         Chainring                                          CR-7833                   Black
323         Crown Race                                         CR-9981                   None

5.3、在 WHERE 子句中测试NULL

请勿用于 ISNULL 查找 NULL 值。 请改用 IS NULL。 下面的示例查找 weight 列中存在 NULL 的所有产品。 请注意 IS 和 NULL 之间的空格。

USE AdventureWorks2022;
GO
SELECT Name, Weight
FROM Production.Product
WHERE Weight IS NULL;
GO
-- 返回执行结果
Name                                               Weight
-------------------------------------------------- ---------------------------------------
Adjustable Race                                    NULL
Bearing Ball                                       NULL
BB Ball Bearing                                    NULL
Headset Ball Bearings                              NULL
Blade                                              NULL
LL Crankarm                                        NULL
ML Crankarm                                        NULL
http://www.lryc.cn/news/498734.html

相关文章:

  • 深入浅出:PHP函数的定义与使用
  • C++知识整理day4内存管理——new和delete详解
  • 部署项目报错
  • 专业140+总分420+上海交通大学819考研经验上交电子信息与通信工程,真题,大纲,参考书。博睿泽信息通信考研论坛,信息通信考研Jenny
  • 电子信息工程自动化 单片机自动门控制系统设计
  • T C P
  • PDF与PDF/A的区别及如何使用Python实现它们之间的相互转换
  • 【Linux课程学习】: 进程地址空间,小故事理解虚拟地址,野指针
  • 解决el-select数据量过大的3种方法
  • 速盾:高防cdn预热指定url就只刷新这个吗?
  • aarch64-linux-gnu-g++在windous不能用
  • 01_Node.js入门 (黑马)
  • 记一次搞校园网的经历
  • 沃德云商协系统微信小程序PHP+Uniapp
  • Leecode刷题C语言之可以被进一步捕获的棋子数
  • 【算法】数组中,求K个最大值
  • Postman自定义脚本Pre-request-script以及Test
  • Lua中实现HTTP请求的User-Agent自定义
  • 工业节能水泵如何节能?
  • 第四篇:k8s 理解Service工作原理
  • P3131 [USACO16JAN] Subsequences Summing to Sevens S
  • 大数据技术Kafka详解 ② | Kafka基础与架构介绍
  • 【CKA】Kubernetes(k8s)认证之CKA考题讲解
  • android WebRtc 无法推流以及拉流有视频无声音问题
  • 【5G】Spectrum 频谱
  • Flink学习连载文章11--双流Join
  • R语言 | 峰峦图 / 山脊图
  • 16-03、JVM系列之:内存与垃圾回收篇(三)
  • 解决Windows与Ubuntu云服务器无法通过Socket(udp)通信问题
  • Mysql 中的锁机制