a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle用decode函數(shù)或CASE-WHEN實現(xiàn)自定義排序

2020-07-26 13:25:50
字體:
供稿:網(wǎng)友

1 問題

SQL排序,只要在order by后面加字段就可以了,可以通過加descasc來選擇降序或升序。但排序規(guī)則是默認的,數(shù)字、時間、字符串等都有自己默認的排序規(guī)則。有時候需要按自己的想法來排序,而不是按字段默認排序規(guī)則。

比如字段值為英文字段:MondayTuesdayWednesday等,如果按字段默認排序規(guī)則就為:

Friday
Monday
Saturday
Sunday
Thursday
Tuesday
Wednesday

實際我需要的是:

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

2 decode函數(shù)

通過decode函數(shù)可以實現(xiàn),如下:

select * from table_dateorder by decode(DateStr,  'Monday',1  'Tuesday',2  'Wednesday',3  'Thursday',4  'Friday',5  'Saturday',6  'Sunday',7,  0);

后面的數(shù)字可以不連續(xù)。

3 case when語句

另外,還可以用case when來實現(xiàn):

select * from table_dateorder by (CASE DateStr  WHEN 'Monday' then 1  WHEN 'Tuesday' then 2  WHEN 'Wednesday' then 3  WHEN 'Thursday' then 4  WHEN 'Friday' then 5  WHEN 'Saturday' then 6  WHEN 'Sunday' then 7   ELSE 0   END);

4 總結(jié)

當然,把字段直接賦值為對應的數(shù)字效率會高很多,通過另外一張表再建立映射關(guān)系。

到此這篇關(guān)于Oracle用decode函數(shù)或CASE-WHEN實現(xiàn)自定義排序的文章就介紹到這了,更多相關(guān)Oracle用decode函數(shù)或CASE-WHEN實現(xiàn)自定義排序內(nèi)容請搜索武林網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持武林網(wǎng)!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 自拍偷拍第一页 | 精品国产影院 | 久久9色 | 希岛爱理在线 | 国产第一夜 | 国产精品久久久久久福利一牛影视 | 色婷婷综合网 | 色综合久久久久久久 | 中文字幕av一区二区三区 | 91麻豆精品国产91久久久更新资源速度超快 | 亚洲精品久久久久久久久久久久久 | 亚洲成人av一区二区三区 | 国产精品久久久久婷婷二区次 | 久久精品一区二区三区四区 | 久久国产一区二区 | 九色91在线 | 秋霞一区二区三区 | 精品国自产在线观看 | 久久久一区二区三区 | 国产目拍亚洲精品99久久精品 | 国产欧美精品一区二区色综合 | 色爽| 免费观看国产黄色 | 国产精品一区二区av | 黄色片在线免费看 | 国产黄色免费 | 午夜精品久久久久久久久 | 欧美精品一区二区在线播放 | 国产一区二区在线电影 | av免费在线观看网站 | 一级在线播放 | 91在线观看免费 | 黄色网址视频 | 天天色天天色 | 欧美日本一区视频免费 | 日韩h在线观看 | 久久久久久久一区 | 国产日韩欧美一区二区 | 日韩视频在线观看视频 | 91精品国产欧美一区二区 | 国产乱码精品一区二区三区手机版 |