网站首页 > 知识剖析 正文
- 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函数
- 最近发表
-
- 表格存储 SQL 查询多元索引(表格存储 sql 查询多元索引的方法)
- 数据库教程-SQL Server多条件模糊查询
- Twitch宣布放弃Flash并逐步转型至HTML5平台
- 移动平台最强播放器MX Player:终于支持安卓5.0了!
- win10 NFS+黑群晖远程加载管理Windows文件夹(读写NTFS格式+高清播放器)
- Android端VLC 3.3版本发布,重新设计播放器界面
- 不仅仅被苹果封杀!Youtube宣布迁移Flash
- 揭开网站背后的魔法:B/S系统原来这么简单!
- Adobe Animate (An) 2020网页设计软件下载和安装教程
- Adobe发布“巨量”安全更新:遏制Flash“祸害”Linux
- 标签列表
-
- 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)