2,这时候排序就会很麻烦,oracle 数据库为我们提供了一个强大的函数 decode,具体用法如下: select * from table_name t where t.id in (1, 3, 7, 9) order by decode (t.id, 1, 1, 3, 2, 7, 3, 9, 4) 其中decode 函数的结果作为 order by 的内容,括号内的参数为 (排序字段,值,顺序,值,...
2、诡异的DECODE函数 今天同事遇到下面一个问题: order by decode(column_id,1,null,2,null,3,null,column_id); 有个问题,就是当列数大于10列时,column_id 的顺序成10,11,12,13,4,5,6,7,8,9了 这个排序的主要目的是让前3列排在后面,这3列的顺序无所谓。 对于小于10列的表是没问题的: SQL> cre...
通过decode函数可以实现,如下: select*fromtable_date orderbydecode(DateStr,'Monday',1'Tuesday',2'Wednesday',3'Thursday',4'Friday',5'Saturday',6'Sunday',7,0); AI代码助手复制代码 后面的数字可以不连续。 3 case when语句 另外,还可以用case when来实现: select*fromtable_dateorderby(CASEDateStrWHE...
SQL> select * from tb order by decode(blogid,3,1,2); BLOGID BLOGCLASS --- --- 3 工作 5 朋友 1 人生 2 学习 我现在的理解是这样的,通过decode()函数,BLOGID值为3的那条记录被转换为了1, 而其他的记录都是2,那么按照这个顺序排序,肯定BLOGID为3的那条记录永远在最前面了, 不仅如此,注意到后...
通过decode函数可以实现,如下: select * from table_date order by decode(DateStr, 'Monday',1 'Tuesday',2 'Wednesday',3 'Thursday',4 'Friday',5 'Saturday',6 'Sunday',7, 0); 后面的数字可以不连续。 3 case when语句 另外,还可以用case when来实现: ...
1、select deptid,decode(type, 'CJ ', count, '0') as CJ from a。 2、select * from dept order by decode(depttype 'a', 1, 'b', 2, , 'c',3) 用于排序。 3、有这样一个场景 原始数据: 想要变成的效果: 名称男女 三年1班2421 ...
2 decode函数 通过decode函数可以实现,如下: select * from table_date order by decode(DateStr, 'Monday',1 'Tuesday',2 'Wednesday',3 'Thursday',4 'Friday',5 'Saturday',6 'Sunday',7, 0); 后面的数字可以不连续。
1 一、DECODE ( )语法:decode(expr,search1,result1, search2,result2, …… search n,result n, default)解释:decode函数将expr值与各search值一个一个比对,若expr值等于search值oracle数据库返回其对应的result值;若没有匹配的search值,则返回default值;若函数中default值缺省则返回null。说明:...
1、select deptid,decode(type, 'CJ ', count, '0') as CJ from a。2、select * from dept order by decode(depttype 'a', 1, 'b', 2, , 'c',3)⽤于排序。3、有这样⼀个场景 原始数据:名称数量性别 三年1班男24 三年1班⼥21 三年2班男16 三年2班⼥20 想要变成的效果:名称男⼥ ...
这种写法大大简化了代码。此外,decode函数还可以用于对字符列进行特定的排序。例如,在表table_subject中,有subject_name列。你需要按照语、数、外的顺序进行排序。这时,可以使用decode函数:select * from table_subject order by decode(subject_name, '语文', 1, '数学', 2, '外语',3)这条语句...