【sqlserver】:
sqlserver 认为 null 最小。
升序排列:null 值默认排在最前。
要想排后面,则:order by case when col is null then 1 else 0 end ,col
降序排列:null 值默认排在最后。
要想排在前面,则:order by case when col is null then 0 else 1 end , col desc
【oracle】:
oracle认为 null 最大。
升序排列,默认情况下,null值排后面。
降序排序,默认情况下,null值排前面。
有几种办法改变这种情况:
(1)用 nvl 函数或decode 函数 将null转换为一特定值
(2)用case语法将null转换为一特定值(oracle9i以后版本支持。和sqlserver类似):
order by (case mycol when null then '北京漂客' else mycol end)
(3)使用nulls first 或者nulls last 语法。
这是oracle专门用来null值排序的语法。
nulls first :将null排在最前面。如:select * from mytb order by mycol nulls first
null last :将null排在最后面。如:select * from mytb order by mycol nulls last
如果要想让含有null的列按照自己的意愿进行排序,可做如上处理。
【mysql】:
MySQL同sqlserver,null默认最小,解决办法同sqlserver
<转载出处:http://www.lonery.com/article-view-5.html>
相关推荐
46.Oracle 数据库向 MS SQL Server 7.0 的迁移 Oracle1: 1. Decode()函数使用技巧(NT+IIS+ASP+ORACLE) 2. Dual伪列 3. EXP、IMP 命令详解 4. Exp-Imp大量数据 5. Export-Import 使用技巧与常见错误 6. ...
本书特色:主要介绍SQL的语法规则及在实际开发中的应用,并且对SQL在MySQL、MS SQL Server、Oracle和DB2中的差异进行了分析;详细讲解数据库对增、删、改、查等SQL的支持并给出了相应的SQL应用案例;透彻分析函数...
排除代码逻辑没有问题,找到原因后特别想吐槽这个错误,纠结了半天。 一、错误原因 项目编码和数据库编码格式不一致,字段值含有汉字 都改为UTF-8格式 二、解决步骤 1.查看修改数据库编码格式 Navicat查看数据库编码...
第9章 主流数据库的SQL语法差异解决方案 9.1 SQL语法差异分析 9.1.1 数据类型的差异 9.1.2 运算符的差异 9.1.3 函数的差异 9.1.4 常用SQL的差异 9.1.5 取元数据信息的差异 9.2 消除差异性的方案 ...
MySQL中外键的table的外键引用列可以插入数据可以为null,不参照主表的数据。 使用子查询插入数据 insert into temp(name) select name from classes; 多行插入 insert into temp values(null, ‘jack’, 22), ...
第9章 主流数据库的SQL语法差异解决方案 9.1 SQL语法差异分析 9.1.1 数据类型的差异 9.1.2 运算符的差异 9.1.3 函数的差异 9.1.4 常用SQL的差异 9.1.5 取元数据信息的差异 9.2 消除差异性的方案 ...
第9章 主流数据库的SQL语法差异解决方案 9.1 SQL语法差异分析 9.1.1 数据类型的差异 9.1.2 运算符的差异 9.1.3 函数的差异 9.1.4 常用SQL的差异 9.1.5 取元数据信息的差异 9.2 消除差异性的方案 ...
第9章 主流数据库的SQL语法差异解决方案 9.1 SQL语法差异分析 9.1.1 数据类型的差异 9.1.2 运算符的差异 9.1.3 函数的差异 9.1.4 常用SQL的差异 9.1.5 取元数据信息的差异 9.2 消除差异性的方案 ...
昨天在QQ群里讨论一个SQL优化的问题,语句大致如下: select A,min(B) from table group by A;--A,B都没有not null约束,A列无空值,B列有空值。--存在复合索引IX_TEST(A,B) 于是手动测试,环境采用Oracle自带的...
保存在oracle数据库中的所有操作细节: spool oracleday01.txt :开始记录 spool off :开始保存细节 四、SELECT语句:选择操作、投影操作。 select:从一个或多个表中检索一个或多个数据列。包含信息:想选择...
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。 拉里•埃里森 就业前景 从就业与择业的...
不管你是应用开发人员、数据库管理人员、Web应用设计人员,还是Microsoft Office用户,掌握良好的SQL知识对于与数据库打交道是很重要的。. 本书可以说是应需而生。我曾经讲授过多年的Web应用开发,学生们经常要求...
结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) 对数据库进行的信息查询,select。 ...
推荐:学习SQL编程,必备书籍,从入门到进阶/精通,实例与理论同步,比较优秀作品!(共分压5部分)目录: 第1章 了解SQL... 1 1.1 数据库基础..... 1 1.1.1 什么是数据库..... 2 1.1.2 表..... 2 1.1.3 列和...