博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql server 之函数小技巧 && 整数类型为空是用空字符串替代实现
阅读量:7171 次
发布时间:2019-06-29

本文共 2267 字,大约阅读时间需要 7 分钟。

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 sex         WHEN '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 PM12-29-200829 Dec 0829 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

 

  自己想出来的,可能效率比较低,假如有更好的方法,希望赐教!

 

转载地址:http://txbzm.baihongyu.com/

你可能感兴趣的文章
[译] 通过后台数据预获取技术实现性能提升
查看>>
iOS实现多继承的几种方式
查看>>
我要做 Android 之要点总结
查看>>
Http请求与响应
查看>>
白山云科技校招:系统研发、机器学习、数据挖掘工程师
查看>>
SpringBoot实现定时任务的几种方式(常用)
查看>>
Web请求过程
查看>>
LRU 缓存淘汰算法的两种实现
查看>>
sql经典题目
查看>>
解决异常:SAXParseException在文档的元素内容中找到无效的 XML 字符
查看>>
H5移动端开发常见问题以及解决办法
查看>>
Jenkins 版本发布
查看>>
在下一次你的系统出问题前该准备的一点事情
查看>>
Android & Java8
查看>>
【Android SDK】在命令行管理Android SDK
查看>>
618 | “赢销备战”,全场景助力商家!
查看>>
React 基础知识总结
查看>>
ANGULAR JS常用指令NG-IF、NG-CLASS、NG-OPTION、NG-VALUE、NG-CLICK是如何使用的?
查看>>
cocos creator 视频交互游戏
查看>>
开发者日报 2019年04月09日
查看>>