`

MYSQL、SQL Server、Oracle数据库排序空值null问题及其解决办法

阅读更多

【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>

分享到:
评论

相关推荐

    mysql转换到oracle数据库

    ### MySQL到Oracle数据库转换的关键知识点 #### 一、MySQL到Oracle数据库...通过以上详细步骤和技术要点,我们可以有效地将MySQL数据库中的数据及其相关的应用程序迁移至Oracle数据库,同时确保应用的兼容性和稳定性。

    Oracle数据库学习指南

    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. ...

    Mysql、oracle、Sybase数据库两列合并成一列的sql语句

    本文将详细介绍如何在MySQL、Oracle以及Sybase三种主流数据库中使用SQL语句来完成两列数据的合并操作。 ### 1. MySQL中的两列合并 在MySQL中,可以使用`CONCAT()`函数或者连接运算符`+`来合并两个字段。但是,需要...

    如何将数据库中的NUll写入到数据库中去

    虽然SQL标准定义了如何处理NULL,但不同的数据库系统(如MySQL、PostgreSQL、Oracle等)可能有自己的方言,因此在实际操作时要注意这些差异。 总之,将NULL写入数据库涉及到SQL语法、编程语言与数据库API的交互,...

    access和sql语法区别详细

    Access 中结合 `IIF` 和 `IsNull` 用于替换空值,SQL Server 使用 `Coalesce`,Oracle 用 `Nvl`,DB2 也有 `Coalesce`。自定义 `GetNullStr` 可以处理这种情况。 7. **条件取值**: Access 中的 `IIF` 类似于 SQL...

    SQL server记事本.docx

    SQL(Structured Query Language)是一种用于管理和处理关系数据库的标准语言,广泛应用于各种数据库系统,如SQL Server、MySQL、Oracle等。以下是对SQL基础知识的详细总结: 1. 数据库操作: - 创建数据库:`...

    ORACLE_SID数据库相关资料.docx

    5. 数据库管理系统(DBMS):Oracle是众多DBMS之一,其他常见系统包括IBM的DB2、Microsoft的SQL Server、Sybase和MySQL。每个DBMS都有自己的特性和功能,但都基于SQL标准。 6. Oracle SID:在Oracle中,SID是数据库...

    SQL数据库常用语言

    - SQL简介:SQL是用于与数据库进行交互的语言,无论你是在Microsoft SQL Server还是其他数据库系统中,如MySQL、Oracle或PostgreSQL,都能找到SQL的身影。它遵循ANSI(美国国家标准协会)标准。 - 数据存储:在SQL...

    Oracle1.pdf

    首先,数据库是存储和管理数据的软件,其中最常见的是RDBMS,如Oracle、MySQL、SQL Server和DB2。在数据库中,表是存储数据的基本单元,相当于二维表格,由多行和多列组成。每行代表一条具体的业务数据,称为记录或...

    Oracle+MySQl错误代码解析大全

    "Oracle+MySQL错误代码解析大全"提供了一个宝贵的资源,帮助数据库管理员和开发人员迅速识别并解决这些错误。 Oracle数据库的错误代码通常以数字形式出现,如ORA-00001到ORA-65313。每个错误代码都有其特定的含义,...

    2015秋大连理工大学SQL数据库系统及应用》在线作业1及答案.pdf

    SQL(Structured Query Language)是一种用于管理和处理关系数据库的标准编程语言,它被广泛应用于各种数据库管理系统,如MySQL、Oracle、SQL Server等。在这个2015年秋季大连理工大学的《SQL数据库系统及应用》在线...

    针对mysql的sql笔记

    不同的数据库系统,如SQL Server、Access、MySQL和Oracle,虽然各有差异,但它们在逻辑上都是由数据库、表格、列和行组成的。在MySQL中,我们可以使用CREATE DATABASE语句来创建一个新的数据库,如`CREATE DATABASE ...

    JDBC查询返回数据集一直为空,明明数据库(MySQL)有数据的解决办法

    在使用Java的JDBC进行MySQL数据库操作时,有时可能会遇到这样一个困扰:明明数据库中存在数据,但是通过JDBC执行查询语句后返回的数据集却始终为空。这种情况通常是由于编码问题导致的,具体来说,是项目编码与...

    SQLserver21天自学通SQL21天自学通

    - **流行的SQL开发工具**:如Microsoft SQL Server Management Studio、MySQL Workbench、Oracle SQL Developer等,这些工具提供了图形界面和脚本编写功能,方便用户进行数据库管理和开发工作。 - **SQL在编程中的...

    程序员的SQL金典.rar

     本书特色:主要介绍SQL的语法规则及在实际开发中的应用,并且对SQL在MySQL、MS SQL Server、Oracle和DB2中的差异进行了分析;详细讲解数据库对增、删、改、查等SQL的支持并给出了相应的SQL应用案例;透彻分析函数...

    Oracle与MySQL的几点区别

    MySQL中可以在定义列时指定`NOT NULL`来避免空值的出现,而在Oracle中,即使没有显式指定`NOT NULL`,默认情况下也会将空值视为一种特殊值来处理。这意味着在Oracle中,如果某列被定义为不允许为空,那么在插入或...

    mysql问题,常见的mysql面试问题

    - **MySQL**:MySQL是一种关系型数据库管理系统(RDBMS),由瑞典MySQL AB公司开发,目前由Oracle公司维护。它以其高性能、高可靠性和易用性著称,在互联网行业中被广泛应用。 - **特点**: - 高性能:MySQL采用多...

    SQL语言教学的研究与实践.pdf

    它广泛应用于关系数据库管理系统(RDBMS)中,包括微软的SQL Server、开源的MySQL、甲骨文的Oracle数据库等。SQL语言包括数据查询、数据操纵、数据定义和数据控制等部分。 在教学实践中,一个常见的问题是教材中的...

    数据库工程师 第8章 关系数据库操作语言SQL.doc

    《数据库工程师——深入理解SQL》 SQL,全称Structured Query Language,是关系数据库的标准操作...在实际应用中,还需要结合具体数据库管理系统(如MySQL、Oracle、SQL Server等)的特性和优化策略,以实现最佳性能。

Global site tag (gtag.js) - Google Analytics