网站首页 > 知识剖析 正文
- NULL转0:
在SQL Server中COALESCE函数,会返回其参数中第一个不为NULL的参数:
SELECT COALESCE(NULL,NULL,N'A',NULL,NULL) 结果'A';
SELECT COALESCE(NULL,NULL,N'A',N'B',N'C',NULL) 结果'A';
注意,1、其参数必须是相同的类型,例如下面的例子中COALESCE函数的参数中,既有字符串类型又有数字类型,就会报错:
SELECT COALESCE(NULL,NULL,N'A',N'B',100,NULL)
2、如果COALESCE函数的所有参数都为常量NULL,那么其也会报错:
SELECT COALESCE(NULL,NULL,NULL) 结果NULL
3、3.1如果COALESCE函数的参数中有表达式、变量、表的列名等,即便是COALESCE函数的参数都返回NULL也不会报错:
SELECT COALESCE(NULL,NULL+1,NULL)
DECLARE @v1 NVARCHAR(50)=NULL
DECLARE @v2 NVARCHAR(50)=NULL
DECLARE @v3 NVARCHAR(50)=NULL
SELECT COALESCE(NULL,@v1,@v2,@v3,NULL) 结果NULL
3.2
CREATE TABLE #Demo
(
Col1 NVARCHAR(50),
Col2 NVARCHAR(50),
Col3 NVARCHAR(50)
)
INSERT INTO #Demo(Col1,Col2,Col3) VALUES(NULL,NULL,NULL)
SELECT COALESCE(NULL,Col1,Col2,Col3,NULL) FROM #Demo
结果:NULL
- 0转NULL(SQL Server里的 ISNULL 与 NULLIF)
ISNULL(check_expression, replacement_value)
check_expression 与 replacement_value 数据类型必须一致,如果 check_expression 为 NULL,则返回 replacement_value,如果check_expression 不为 NULL,则返回 check_expression
NULLIF(expression, expression)
如果两个 expression 相等,则返回 NULL,该 NULL 为第一个 expression 的数据类型,如果两个 expression 不相等,则返回第一个 expression
NULLIF:需要两个参数,如果两个指定的表达式等价,则返回null
例子:NULLIF(a,b)
说明:如果a和b是相等的,那么返回NULL,如果不相等返回a
select NULLIF('eqeqweqwe','1') 结果是eqeqweqwe
select NULLIF(1,1) 结果是NULL
a和b的类型要一致
ISNULL:需要两个参数,目标是将null替换为指定的值,若第一个参数不为null,则返回第一个参数
ISNULL(a,b)
说明:如果a和b同时为NULL,返回NULL,如果a为NULL,b不为NULL,返回b,如果a不为NULL,b为NULL返回a,如果a和b都不为NULL返回a
select ISNULL(null,null)结果是null
select ISNULL(null,33)结果是33
select ISNULL('ddd',null)结果是ddd
select ISNULL(44,33)结果是44
isnumeric:确认表达式是否为有效的数字形式
1、修改字段名:
alter table 表名 rename column A to B
2、修改字段类型:
alter table 表名 alter column 字段名 type not null
3、修改字段默认值:
alter table 表名 add default (0) for 字段名 with values
4、增加字段:
alter table 表名 add 字段名 type not null default 0
5、删除字段:
alter table 表名 drop column 字段名;
猜你喜欢
- 2024-12-04 从零开始学SQL数据分析,SQL数据清洗
- 2024-12-04 C#中使用FreeSql分表查询的实现及bug
- 2024-12-04 SQL 基础学习插入数据(十三)
- 2024-12-04 利用VBA+SQL查询Excel工作表数据(条件查询)
- 2024-12-04 初学者最热门和棘手的10个T-SQL问题
- 2024-12-04 神奇的 SQL 之 联表细节 → MySQL JOIN 的执行过程
- 2024-12-04 数据库基础 数据查询语言 初学者一定要掌握这些SQL查询语句
- 2024-12-04 20个数据分析师必知必会的SQL查询语句
- 2024-12-04 SQL查询排序如何将null值排到最后
- 2024-12-04 一文讲懂SQL条件语句 IF函数
- 最近发表
-
- PHP 8新特性之Attributes(注解),你掌握了吗?
- PHP + Redis 高并发轮盘抽奖系统实现
- PHP设计模式之原型模式(php 模型)
- php8 throw 表达式使用教程(php表达式的定义)
- php8 枚举使用教程(php枚举类型)
- GIMP 教程:如何创建照片文字效果(gimp怎么修改图片上的数字)
- 分享几个漂亮的宇宙风格的按钮动画效果,让你喜欢上CSS
- 一次示范就能终身掌握!让手机AI轻松搞定复杂操作丨浙大vivo出品
- Shanghai supports exporters' pivot as US tariffs hit trade flows
- 如何早期识别「快速进展性痴呆」?这些独特的特征可能提供重要线索 | AAN 2025
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)