此文章主要介绍的是当SQL Server排序时遇到NULL的实际解决方案,对于这个问题,可以说被提及的频率,居高不下,其主要是是客户之前使用的是oracle数据库,那么他在使用SQL Server的时候会有一个疑问,就是在处理NULL值上面,SQL Server与Oracle的行为不一样 。
在Oracle中,NULL值会认为是一个无穷大的值,所以假如按照升序排列的话,则会被排在最后面在SQL Server中则正好相反,NULL值会被认为是一个无穷小的值,所以假如按照升序排列的话,则会被排在最前面
如
SELECT [ID] FROM [demo].[dbo].[Orders] Order By ID
则会看到如下的效果
那么,有没有什么办法让SQL Server的这个默认机制与Oracle一样吗?答案是:没有
但我们可以想一些变通的办法,例如可以像下面这样写代码
SELECT [ID] FROM [demo].[dbo].[Orders] Order By CASE WHEN ID IS NULL THEN 1 ELSE 0 END
这样的话,就可以看到如下的效果
假如该列有创建索引,那么可以看到如下的执行计划
但是,仍然还有其他的一种解决方案,可以把该列的默认值设置为一个很大的值,也就是说,假如用户无法提供该列的值,则默认用一个很大的数字代替。假如是INT型,这个数字,可以是2147483647。这样的情况下,假如排序的时候当然就不需要再进行判断了。

上述的相关内容就是对SQL Server排序时遇上了NULL值的描述,希望会给你带来一些帮助在此方面。
扫描二维码推送至手机访问。
版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。
在Windows 7系统的默认设置中,当Windows 7系统处于休眠状态时,会同时断网的。如此一来,无论你正在使用迅雷还是快车等下载工具,同样可以在休眠状态下继续完成下载,最大限度做到从身边的小事开始支持环保。下面我们就详细介绍操作步骤,帮助Windows 7系统用户实现这一节能目标。 首先需要...
国外媒体CNET NEWS就这个“上帝模式”和微软Windows部门主管Steven Sinofsky进行邮件交流后得知,这其实只是众多快捷方式中的一个,Sinofsky在邮件里给出了十多个这类快捷方式的关键字符串。 它们的建立方法和之前的“上帝模式”一样,在任意位置新建的一个文件夹,然后改名即可...
在使用Windows 7的时候很多用户对于系统的很多功能并不是很了解,也正是因为这样的不了解导致很多用户在使用Win 之后并不能体验Windows 7的功能便携和强大功能,导致很多用户对于Windows 7的认识还是比较模糊,不过为了让更多的朋友了解Windows 7的特点和便携应用,今天就为大家汇...
一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...
ubuntu14.04应用窗口列表在哪里?在ubuntu下打开个几个应用窗口最小化后怎么切换呢,应用窗口列表在哪里呢? 1、多打开几个chrome浏览器窗口。 2、然后都做最小化处理。 3、现在我们在桌面左边的面板上找到"左右两边有小白点"的chrome浏览器应用图标,这就是chr...
解决方法: 其实处理这些使用流氓软件,需要将相关的.exe文件删除,使它不能再运行,或者直接清除这个服务本身,使计算机重启的时候,它不会再启动。比如Hijackthis扫描,在扫描日志中,一般会把非Windows系统的服务以023的方式列出来,如下面这段: O23 - ...