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 之函数小技巧 整数类型为空是用空字符串替代实现相关推荐

  1. SQL Server实用操作小技巧集合

    包括安装时提示有挂起的操作.收缩数据库.压缩数据库.转移数据库给新用户以已存在用户权限.检查备份集.修复数据库等 (一)挂起操作 在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启,这 ...

  2. Sql Server实用操作小技巧总结(转)

    包括安装时提示有挂起的操作.收缩数据库.压缩数据库.转移数据库给新用户以已存在用户权限.检查备份集.修复数据库等. (一)挂起操作 在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启, ...

  3. Sql Server实用操作小技巧集合(转)

    包括安装时提示有挂起的操作.收缩数据库.压缩数据库.转移数据库给新用户以已存在用户权限.检查备份集.修复数据库等   (一)挂起操作 在安装Sql或sp补丁的时候系统提示之前有挂起的安装操作,要求重启 ...

  4. SQL Server 一些使用小技巧

    1.查询的时候把某一个字段的值拼接成字符串 以下是演示数据. 第一种方式:使用自定义变量 DECLARE @Names NVARCHAR(128)SET @Names='' -- 需要先赋值为空字符串 ...

  5. Sql Server常用函数及技巧

    使用Sql Server好长时间了,今天特别想总结一下,算是回顾吧! 总结: 其实很多技巧,都是基于SQL Server自带的System Views,System Stored Procedures ...

  6. SQL SERVER Reverse函数使用技巧

    Reverse函数,是SQL SERVER是一个函数,主要是用来实现字符串倒置的一个功能,可以把字符串里各个字符的顺序倒过来,看下这个例子: DECLARE @str NVARCHAR(100) SE ...

  7. SQL Server中的小技巧(重复、替换、截取、去空格、去小数点后的位数)

    PS:随笔写的在SQL Server中要用到的 (重复.替换.截取.去空格.去小数点后的位数) /*---------------------------重复--------------------- ...

  8. SQL Server日期函数集合

    SQL Server日期函数集合--1:获取系统日期和时间值函数 --getdate() SELECT GETDATE() AS 'today' --getutcdate() SELECT GETUT ...

  9. SQL Server AVG函数取整问题

    SQL Sever的均值函数在求整数类型的数据均值是结果还是整数,并且不会四舍五入.也就是向下取整.这里先创建一个成绩表,并适当添加数据. CREATE TABLE sic(学号 nchar(10) ...

最新文章

  1. u-boot移植问题记录(一)--U_BOOT_CMD区别
  2. python菜鸟教程函数-Python 函数装饰器
  3. IDEA中Maven项目使用Junit4单元测试的写法
  4. iphone录屏没内部声音_安卓手机如何录屏?手机高清录屏指南
  5. 【Java】IntelliJ IDEA 导入JAR包的两种解决方案
  6. Windows监听进程是否退出C++
  7. PDA应用的一些想法
  8. python学习链接
  9. plsql日期转换错ORA-01830
  10. 在HTTPS安全页面中加载HTTP不安全的内容,如何绕过安全警告?
  11. 使用Onedrive
  12. mysql分组函数_mysql分组函数
  13. 沉浸式视听体验:全景声技术是如何实现的?
  14. FreeSWITCH channel variables(信道变量)
  15. BZOJ4836: [Lydsy1704月赛]二元运算-分治FFT
  16. Mac OS下FileVault encryption 使用原理与简介
  17. 泛函分析笔记3:内积空间
  18. VMware虚拟机+Kali linux 2021.2 下载和安装以及初始操作
  19. log4j日志文件默认存放路径
  20. 使用Nodejs创建一个Web服务器应如何操作?以及路由相关知识了解

热门文章

  1. L1,L2,L3三级缓存
  2. Android实现支付宝AR功能,Android RecyclerView 实现支付宝首页效果
  3. 工具:分享IntelliJ IDEA 5条调试技巧,太实用了!
  4. 硬件:断路器、接触器、继电器基础知识
  5. 一文详解CSS常见的五大布局
  6. 程序员偷偷深爱的9个不良编程习惯
  7. python一般学多久可以考试_为何Python适合初学者 一般Python要学习多久
  8. 高考填报志愿计算机操作技巧,高考志愿填报技巧经验
  9. hello,你知道获取元素有哪几种方式吗?
  10. vue的移动app项目中,自定义拖拽指令的问题