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 IDStyle 格式
100 或者 0mon dd yyyy hh:miAM (或者 PM)
101mm/dd/yy
102yy.mm.dd
103dd/mm/yy
104dd.mm.yy
105dd-mm-yy
106dd mon yy
107Mon dd, yy
108hh:mm:ss
109 或者 9mon dd yyyy hh:mi:ss:mmmAM(或者 PM)
110mm-dd-yy
111yy/mm/dd
112yymmdd
113 或者 13dd mon yyyy hh:mm:ss:mmm(24h)
114hh:mi:ss:mmm(24h)
120 或者 20yyyy-mm-dd hh:mi:ss(24h)
121 或者 21yyyy-mm-dd hh:mi:ss.mmm(24h)
126yyyy-mm-ddThh:mm:ss.mmm(没有空格)
130dd mon yyyy hh:mi:ss:mmmAM
131dd/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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290792.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

车牌识别系统连不上服务器怎么办,车牌识别系统出现故障的解决方法有哪些?...

在日常生活中,各个小区、商业广场、酒店、办公楼等等地方出入口装置有车牌识别系统,有此可见车牌识别系统的使用越来越广泛。停车场办理系统的使用给人们带来便利的同时,也常常会出现一些小问题。今天小编就给大家分享一下车牌识别系统遇到故…

霍夫变换

作者:桂。 时间:2017-04-24 12:18:17 链接:http://www.cnblogs.com/xingshansi/p/6756305.html 前言 今天群里有人问到一个图像的问题,但本质上是一个基本最小二乘问题,涉及到霍夫变换(Hough Transform&a…

ASP.NET Core 实现基于 ApiKey 的认证

ASP.NET Core 实现基于 ApiKey 的认证Intro之前我们有介绍过实现基于请求头的认证,今天来实现一个基于 ApiKey 的认证方式,使用方式参见下面的示例Sample注册认证服务services.AddAuthentication().AddApiKey(options >{options.ApiKey "123456…

Android之调用系统分享

1、调用系统分享关键代码 private void shareImage() {Intent intent = new Intent(Intent.ACTION_SEND); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File("sdcard/screenshot.png")));intent.setTyp…

hdu4750Count The Pairs(最小生成树找瓶颈边)

1 /*2 题意:就是给你一个图,图的每两个点都有多条路径,每一条路径中都有一条最大边,3 所有最大边的最小边(也就是瓶颈边)就是这两点之间的val值!然后给你一个值f,4 问有多少…

服务器的响应一直一直发送不过去,zeroRPC:在发送响应后继续运行进程

我使用Python2.7和zeroRPC使客户机和服务器通信。我希望客户端向服务器发送一个请求,我希望服务器发送一个响应以确认它已收到请求。但是我希望服务器对该请求执行一些繁重的计算。这些计算将花费数小时,并且不会产生任何响应,因此客户机不应…

白平衡自己主动(AWB)算法---2,颜色计算

本文说明了白平衡算法估计当前场景的色温过程. 色温计算的原理并不复杂,但要做到,还是一道,认真做好每一步,这需要大量的测试,和算法一直完好. 关于该过程首先简要: 1, 取的图像数据,并划分MxN块,如果是25x25,并统计每一块的基本信息(,白色像素的数量及R/G/B通道的分…

【机房收费系统】多么痛的领悟

这次机房收费系统,是全部的项目中,自己完毕的最不惬意的了。 时间之长。效率之慢。一開始。就感觉无从下手,但总会相信自己能慢慢的进入状态。最终有机会自己练练手了。也自觉得之前自己设计模式学的还不错。也最终有机会能自己想想设计模式了…

linux(windows)之svn重定向地址

1、问题 svn下载的项目路径需要换,也就是下面的URL:SVN:// 需要修改 2、解决办法 linux平台 svn switch --relocate oldSvnPath newSvnPath windows平台 右击项目 TortoiseSVN->Relocate 然后修改就行

简单的邮箱格式校验方式

简单的邮箱格式校验方式Intro前段时间有一个验证邮箱格式的小需求,然后突然发现了一种非常简单的邮箱格式判断方式Implement直接来看实现public static bool IsEmailAddress(string email) {if (string.IsNullOrWhiteSpace(email))return false;var symbolIndex em…

Ubuntu14.04LST安装weblogic11g

1:下载链接http://download.oracle.com/otn/nt/middleware/11g/wls/1036/wls1036_generic.jar 2:进行安装(前提已经安装好JDK) yy:~/my_download$ java -d64 -Xmx1024m -jar wls1036_generic.jar Extracting 0%.......................................…

服务器连接不稳定fifa,fifa服务器链接异常

fifa服务器链接异常 内容精选换一换获取登录密码Windows操作系统在创建时只能选择密钥登录,需要先将密钥文件解析为密码,参考链接:获取Windows裸金属服务器的密码Windows操作系统在创建时只能选择密钥登录,需要先将密钥文件解析为…

并发编程总结4-JUC-REENTRANTLOCK-2(公平锁)

内容包括:1、ReentrantLock函数分析2、ReentrantLock公平锁源码---------------&#…

Android之项目全部能正常登录但是部分资源没有显示成功的解决办法

1、问题 自己写的项目,PC端没有问题,移动端有问题 第一个问题 部分能登录,一部分不能登录 第二个问题 解决第一个问题后,全部能登录,但是登录之后部分资源显示不成功,部分可以 2、原因 第一个问题的原…

ASP.NET Core 6 的性能改进

受到 由Stephen Toub 发布的关于 .NET 性能的博客的启发,我们正在写一篇类似的文章来强调ASP.NET Core 在6.0 中所做的性能改进。基准设置我们整个过程中大部分的实例使用的是BenchmarkDotNet。在此链接上提供了repo,其中包括本文中使用的大多数基准。Be…

(转载)在服务器上排除问题的头5分钟

尽可能搞清楚问题的前因后果 不要一下子就扎到服务器前面,你需要先搞明白这台服务器有多少已知的情况,还有故障的具体情况,不然你很有可能是在无的放矢必须要搞清楚的问题:故障的表现是什么?无响应?报错&am…

wikioi 1034 家 实时动态的网络流量(费用流)

因为随着时间的推移。网络侧变得,因此,常见的网络流量也解决不了这个问题,。如果T毕竟运输时间。为此。我们可以基于时间分割点,所有的点将被分割为T点。 对于每一个点,下一次甚至一个容量为本人INF边缘,费…

华为服务器只显示一个下划线,华为官方解释:为什么鸿蒙系统logo下面会有一条下划线...

HarmonyOS 的 Logo 中为什么有一横?为什么这一横偏偏是蓝色?HarmonyOS 的字体设计又藏着什么奥秘?6月10日晚,华为官方微博对鸿蒙系统LOGO设计寓意,作出了官方科普。下面就来为你一一解答在现代汉语中“旦”字与鸿蒙OS中…

Android之jni出现JNIEnv has no member named ‘GetMehtodID‘解决办法

1、问题 ndk-build提示 JNIEnv has no member named GetMehtodID 2、原因 我把那个函数写错了 3、解决办法 复制上面正常的函数,把函数改为 env->GetMethodID

ORACLE利用STANDBY端RMAN备份进行数据恢复

这里记录一下流程,有我和同事问心进行测试 dataguard主库和物理备库主要是controlfile文件有区别,用restore可以查看含有primary,standby关键字 RMAN> restore ; RMAN-00571: RMAN-00569: ERROR MESSAGE STACK FOLLOWS RMAN-00571: RMAN-00558: e…