sql server 之函数小技巧 整数类型为空是用空字符串替代实现
1、判空函数
说明:使用指定的替换值替换 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 隐式转换为 check_expression 的类型(如果这两个类型不同)后,则返回前者。
实例:
加入int类型的Flag1为一,则用0代替它的值
ISNULL(Flag1,0) //加入int类型的Flag1为一,则用0代替它的值
注意:因为Flag1是整数(int)类型的,所以后面值肯定也要是int类型的,否则不能通过。因为假如一个数据为空,传到页面显示的时候就会出现undefined,对于程序员来说,这是很正常的事情,很明确就知道它是一个空值,但对于普通用户,undefined就很费解了,我们怎么样才能在一个整形字段为空,用空字符串替代呢?用ISNULL肯定是不能解决的,不要着急,我们可以使用ISNULL、case when和conver函数进行解决。
2、case when
CASE WHEN的两种格式
1.简单Case函数
CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' END
2.Case搜索函数
CASE WHEN sex = '1' THEN '男'WHEN sex = '2' THEN '女'ELSE '其他' END
1).两者相比,Case搜索函数功能更强。
2).Case函数类似于if……else if 语句,只返回第一个符合条件的值,之后的部分会被忽略
3、convert函数
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据。
语法:
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
可以使用的 style 值:
Style ID | Style 格式 |
---|---|
100 或者 0 | mon dd yyyy hh:miAM (或者 PM) |
101 | mm/dd/yy |
102 | yy.mm.dd |
103 | dd/mm/yy |
104 | dd.mm.yy |
105 | dd-mm-yy |
106 | dd mon yy |
107 | Mon dd, yy |
108 | hh:mm:ss |
109 或者 9 | mon dd yyyy hh:mi:ss:mmmAM(或者 PM) |
110 | mm-dd-yy |
111 | yy/mm/dd |
112 | yymmdd |
113 或者 13 | dd mon yyyy hh:mm:ss:mmm(24h) |
114 | hh:mi:ss:mmm(24h) |
120 或者 20 | yyyy-mm-dd hh:mi:ss(24h) |
121 或者 21 | yyyy-mm-dd hh:mi:ss.mmm(24h) |
126 | yyyy-mm-ddThh:mm:ss.mmm(没有空格) |
130 | dd mon yyyy hh:mi:ss:mmmAM |
131 | dd/mm/yy hh:mi:ss:mmmAM |
实例
下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:
CONVERT(VARCHAR(19),GETDATE()) CONVERT(VARCHAR(10),GETDATE(),110) CONVERT(VARCHAR(11),GETDATE(),106) CONVERT(VARCHAR(24),GETDATE(),113)
结果类似:
Dec 29 2008 11:45 PM 12-29-2008 29 Dec 08 29 Dec 2008 16:25:46.635
CONVERT() 函数将一种类型的数据转换为另外一种数据类型。
CONVERT(要转换到的数据类型,字段名)
例子:将int类型的Flag1转换为varchar(10)类型
convert(varchar(10),Flag1)
4、解决不同类型int类型为空时,用空字符串代替
1、假如它是空,就将其转换为0
2、因为空字符串也是字符串,所以当Flag1不是为空的时候,还是需要将其转换为字符串,所以无论Flag1是否为空,结果都是字符串,所以这样子能运行
case when 0 = ISNULL(Flag1,0) then ' ' else convert(varchar(10),Flag1) end
自己想出来的,可能效率比较低,假如有更好的方法,希望赐教!
转载于:https://www.cnblogs.com/0201zcr/p/4674399.html
sql server 之函数小技巧 整数类型为空是用空字符串替代实现相关推荐
- SQL Server实用操作小技巧集合
包括安装时提示有挂起的操作.收缩数据库.压缩数据库.转移数据库给新用户以已存在用户权限.检查备份集.修复数据库等 (一)挂起操作 在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这 ...
- Sql Server实用操作小技巧总结(转)
包括安装时提示有挂起的操作.收缩数据库.压缩数据库.转移数据库给新用户以已存在用户权限.检查备份集.修复数据库等. (一)挂起操作 在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启, ...
- Sql Server实用操作小技巧集合(转)
包括安装时提示有挂起的操作.收缩数据库.压缩数据库.转移数据库给新用户以已存在用户权限.检查备份集.修复数据库等 (一)挂起操作 在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启 ...
- SQL Server 一些使用小技巧
1.查询的时候把某一个字段的值拼接成字符串 以下是演示数据. 第一种方式:使用自定义变量 DECLARE @Names NVARCHAR(128)SET @Names='' -- 需要先赋值为空字符串 ...
- Sql Server常用函数及技巧
使用Sql Server好长时间了,今天特别想总结一下,算是回顾吧! 总结: 其实很多技巧,都是基于SQL Server自带的System Views,System Stored Procedures ...
- SQL SERVER Reverse函数使用技巧
Reverse函数,是SQL SERVER是一个函数,主要是用来实现字符串倒置的一个功能,可以把字符串里各个字符的顺序倒过来,看下这个例子: DECLARE @str NVARCHAR(100) SE ...
- SQL Server中的小技巧(重复、替换、截取、去空格、去小数点后的位数)
PS:随笔写的在SQL Server中要用到的 (重复.替换.截取.去空格.去小数点后的位数) /*---------------------------重复--------------------- ...
- SQL Server日期函数集合
SQL Server日期函数集合--1:获取系统日期和时间值函数 --getdate() SELECT GETDATE() AS 'today' --getutcdate() SELECT GETUT ...
- SQL Server AVG函数取整问题
SQL Sever的均值函数在求整数类型的数据均值是结果还是整数,并且不会四舍五入.也就是向下取整.这里先创建一个成绩表,并适当添加数据. CREATE TABLE sic(学号 nchar(10) ...
最新文章
- u-boot移植问题记录(一)--U_BOOT_CMD区别
- python菜鸟教程函数-Python 函数装饰器
- IDEA中Maven项目使用Junit4单元测试的写法
- iphone录屏没内部声音_安卓手机如何录屏?手机高清录屏指南
- 【Java】IntelliJ IDEA 导入JAR包的两种解决方案
- Windows监听进程是否退出C++
- PDA应用的一些想法
- python学习链接
- plsql日期转换错ORA-01830
- 在HTTPS安全页面中加载HTTP不安全的内容,如何绕过安全警告?
- 使用Onedrive
- mysql分组函数_mysql分组函数
- 沉浸式视听体验:全景声技术是如何实现的?
- FreeSWITCH channel variables(信道变量)
- BZOJ4836: [Lydsy1704月赛]二元运算-分治FFT
- Mac OS下FileVault encryption 使用原理与简介
- 泛函分析笔记3:内积空间
- VMware虚拟机+Kali linux 2021.2 下载和安装以及初始操作
- log4j日志文件默认存放路径
- 使用Nodejs创建一个Web服务器应如何操作?以及路由相关知识了解