`
dse_阿兴
  • 浏览: 13398 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

null值排序问题

阅读更多
【oracle】:
oracle认为 null 最大。
升序排列,默认情况下,null值排后面。
降序排序,默认情况下,null值排前面。
有几种办法改变这种情况:
(1)用 nvl 函数或decode 函数 将null转换为一特定值
(2)用case语法将null转换为一特定值(oracle9i以后版本支持。和sqlserver类似):
order by (case col[列名] when null then 'XX'  else col[列名] end)
(3)使用nulls first 或者nulls last 语法。
这是oracle专门用来null值排序的语法。
nulls first :将null排在最前面。如:select * from tb[表名] order by col[列名] nulls first
null last :将null排在最后面。如:select * from tb[表名]order by col[列名]nulls last
【sqlserver】:
sqlserver 认为 null 最小。
升序排列:null 值默认排在最前。
要想排后面,则:order by case when col[列名] is null then 1 else 0 end 降序排列:null 值默认排在最后。
要想排在前面,则:order by case when col[列名] is null then 0 else 1 end desc
3、选择特定列问题
Sqlserver 直接 select top(X) from AA order by kk;
Oracle    select * from (select aa,bb,cc from AA order by kk) where rownum<=X
分享到:
评论

相关推荐

    oracle使用order by排序null值如何处理

    oracle 对查询结果进行排序时,被排序的栏位存在null值,且要指定NULL值排在最前面或者最后面,本文将介绍如何处理oracle 空值排序,需要的朋友可以参考下

    Mysql实现null值排在最前/最后的方法示例

    IS NULL: 当列的值是 NULL,此运算符返回 true。 IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。 &lt;=&gt;: 比较操作符(不同于=运算符),当比较的的两个值为 NULL 时返回 true。 关于 NULL 的条件比较运算是...

    Oracle数据库中对null值的排序及mull与空字符串的区别

    在对业务数据排序时候,发现有些字段的记录是null值,这时排序便出现了有违我们使用习惯的数据大小顺序问题。在Oracle中规定,在Order by排序时缺省认为null是最大值,所以如果是ASC升序则被排在最后,而DESC降序则...

    MySort.ts TS通用排序方法

    * 值排序示例:Utils.mySort(sortArr, null, SortType.Down); * 单字段排序示例:Utils.mySort(sortArr, "getItemQuality", SortType.OrderDown); * 多字段排序示例:Utils.mySort(stoneArr, [["getItemQuality",...

    基于ArrayList的对象多属性值排序

    NULL 博文链接:https://luoxiaohui-java.iteye.com/blog/1489685

    二叉排序树的基本操作及实现

    当二叉排序树BST中不存在结点值等于e时,插入e并返回0,否则返回-1. ③int deleteBST(BTree *T, char key);删除 若二叉排序树T中存在结点值等于key时,则删除该数据元素,并返回0;否则返回-1。 ④BTree searchBST...

    二叉树排序树建立及平衡处理

    其初始调用值为NULL Delete_AVL(BSTree *T, TElemType e, int *shorter) 在平衡二叉排序树中删除元素值为e的结点,成功返回OK,失败返回ERROR PrintBSTree_GList(BSTree T) 以广义表形式打印出来 PrintBSTree_AoList...

    jquery tablesorter对表格进行排序

    NULL 博文链接:https://ollevere.iteye.com/blog/1671801

    成绩录入排序

    就是一个成绩的录入以及排序,帮别人做的,用处不是很大,但是有一定参考意义,写的时候遇见过成绩不能为null,缺损值是0

    用模板类建立一棵二叉排序树,请输入你要建树的所有数,1.显示树2查找3删除树

    cout建立一棵二叉排序树,请输入你要建树的所有数(以-1 作为结束标志!): "; Head=NULL; int number; cin&gt;&gt;number; while(number!=-1) { Head=buildTree(Head,number); cin&gt;&gt;number; } } template ...

    ASP+ACCESS二叉树左右值无限级分类,支持增,删,改,查,排序

    NULL 博文链接:https://shirne.iteye.com/blog/1226758

    二叉排序树与平衡二叉树的实现

    其中P(i)为含有i个结点的二叉排序树的平均查找长度,则P(i)+1为查找左子树中每个关键字时所用比较次数的平均值,P(n-i-1)+1为查找右子树中每个关键字时所用比较次数的平均值。又假设表中n个关键字的排列是“随机...

    数据结构图的遍历及拓扑排序

    void dfs(linkmap *maps,int i)//i用来指定深度优先遍历的起始值 { edgenode *pp; printf("%c",maps-&gt;maplist[i].element); v[i]=1; pp=maps-&gt;maplist[i].firstedge; while(pp) { if(!v[pp-&gt;adress]) ...

    LeetCode力扣刷题数据库(176):第二高的薪水

    题目 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。... 解决 “NULL” 问题的另一种方法是使用 “IFNULL” 函数,如下所示。 SELECT DISTINCT 语句用于返回唯一不同的值 解答 方法一

    单链表的创建,查找,排序,插入,删除

    1、创建一个带头结点的单链表(头指针为head),且遍历此链表(输出链表中各结点的值); 2、查找单链表中的第i个结点,并输出结点元素的值; 3、在单链表中的第i个结点前插入一个结点值为e的正整数(从外部输入); 4...

    拓扑排序实验报告.doc

    设计分析: 为实现对无权值有向图进行拓扑排序,输出拓扑序列,先考虑如何存储这个有向图。拓 扑排序的过程中要求找到入度为0的顶点,所以要采用邻接表来存储有向图,而要得到邻 接表,则先要定义有向图的邻接矩阵...

    aviator 实现 List 的求和、排序、最大、最小值

    NULL 博文链接:https://bugyun.iteye.com/blog/2287835

Global site tag (gtag.js) - Google Analytics