sql判断null Oracle,sql server

   sql server

  替换null:isnull(arg,value)

  如:select isnull(price,0.0) from orders ,如果price为null的话,用0.0替换

  与null比较: is not null,is null

  如 select * from orders where price is null ,price等于null

  如: select * from orders where price is not null ,price不等于null

  oracle

  替换null: nvl(arg,value)

  如: select nvl(price,0.0) form orders

  与null比较: is not null,is null

  如 select * from orders where price is null ,price等于null

  如: select * from orders where price is not null ,price不等于null

  oracle

  这是一个经常被问到的问题。尤其是客户之前使用的是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

  这样的话,就可以看到如下的效果

  如果该列有创建索引,那么可以看到如下的执行计划

时间: 2024-10-03 17:23:34

sql判断null Oracle,sql server的相关文章

被埋没的SQL优化利器——Oracle SQL monitor

转载声明:本文为DBA+社群原创文章,转载必须连同本订阅号二维码全文转载,并注明作者名字及来源:DBA+社群(dbaplus).    据说,在Oracle企业版数据库中有一个免费的工具,乃SQL优化之利器,那就是Oracle SQL monitor.下面,由DBA+社群原创专家周俊,给大家科普一下这一被埋没的神器.   专家简介    周俊 DBA+社群原创专家   具有14年以上Oracle数据库技术支持经验,在IBM的7年间担任华东区非IBM logo产品技术支持团队team leader

sql developer使用-Oracle Sql Developer 使用

问题描述 Oracle Sql Developer 使用 我使用Oracle Sql Developer 将sqlserver数据库转移到oracle,为什么总是捕获不到数据库,连接我都配好了而且也连接上了,就是在捕获时没有反应,求大神帮忙

oracle sql日期比较:

共三部分: 第一部分:oracle sql日期比较: http://www.blogjava.net/forker/archive/2007/09/07/143467.html#Post 第二部分:Oracle 获取当前日期及日期格式 http://blog.sina.com.cn/s/blog_6168ee920100l2ye.html 第三部分: 获取昨天: select trunc(SYSDATE-1)  from dual; 检查一下: select to_char (trunc(SYS

【SQL】Oracle SQL monitor

[SQL]Oracle SQL monitor 第一章 被埋没的SQL优化利器--Oracle SQL monitor DBAplus社群 | 2015-11-26 07:00 转载声明:本文为DBA+社群原创文章,转载必须连同本订阅号二维码全文转载,并注明作者名字及来源:DBA+社群(dbaplus). 据说,在Oracle企业版数据库中有一个免费的工具,乃SQL优化之利器,那就是Oracle SQL monitor.下面,由DBA+社群原创专家周俊,给大家科普一下这一被埋没的神器. 周俊 D

asp.net下Oracle,SQL Server,Access万能数据库通用类

复制代码 代码如下: using System; using System.Collections; using System.Collections.Specialized; using System.Data; using System.Data.SqlClient; using System.Data.OleDb; using System.Data.OracleClient; using System.Configuration; using System.Reflection; nam

asp.net 与 Oracle,SQL Server,Access 数据库类(1/8)

文章提供这款数据库教程连接代码是一款asp教程.net 与 oracle,sql server,access 数据库类哦, 如果你是asp.net教程开发者那你就爽了啊,这是一款利用了.net可以与oracle,sql server,access 进行连接哦,如果你用其这一种数据库就可以直接使用了,同时也解决了关于各种数据库连接问题. using system; using system.collections; using system.collections.specialized; usi

Oracle Application Server PL/SQL 未授权的 SQL 查询执行。

问题描述 Oracle Application Server PL/SQL 未授权的 SQL 查询执行. AppScan漏洞扫描,Oracle Application Server PL/SQL 未授权的 SQL 查询执行.这样的漏洞怎么解决呢. 解决方案 你这个问题是不是没有给SQL授权.http://kb.cnblogs.com/page/100144/ 这个链接你点击进去看看对你有没有帮助.

sql语句优化之SQL Server(详细整理)_MsSql

MS SQL Server查询优化方法 查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,

Oracle SQL tuning 数据库优化步骤图文教程

  SQL Turning 是Quest公司出品的Quest Central软件中的一个工具.Quest Central是一款集成化.图形化.跨平台的数据库管理解决方案,可以同时管理 Oracle.DB2 和 SQL server 数据库. 一.SQL Tuning for SQL Server简介 SQL语句的优化对发挥数据库的最佳性能非常关键.然而不幸的是,应用优化通常由于时间和资源的因素而被忽略.SQL Tuning (SQL优化)模块可以对比和评测特定应用中SQL语句的运行性能,提出智能