婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Oracle用decode函數或CASE-WHEN實現自定義排序

Oracle用decode函數或CASE-WHEN實現自定義排序

熱門標簽:地圖標注坐標圖標 電銷套路機器人 網貸外呼系統合法嗎 地圖標注效果的制作 杭州網絡外呼系統運營商 鶴壁電話機器人價格 手機地圖標注門店 安陽企業電銷機器人供應商 汽車4s店百度地圖標注店

1 問題

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

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

Friday
Monday
Saturday
Sunday
Thursday
Tuesday
Wednesday

實際我需要的是:

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

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);

后面的數字可以不連續。

3 case when語句

另外,還可以用case when來實現:

select * from table_date
order 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 總結

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

到此這篇關于Oracle用decode函數或CASE-WHEN實現自定義排序的文章就介紹到這了,更多相關Oracle用decode函數或CASE-WHEN實現自定義排序內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • SQL Server中使用判斷語句(IF ELSE/CASE WHEN )案例
  • MySQL巧用sum、case和when優化統計查詢
  • 解決mybatis case when 報錯的問題
  • MySQL case when使用方法實例解析
  • 一篇文章帶你了解SQL之CASE WHEN用法詳解

標簽:焦作 銀川 梧州 柳州 酒泉 泰安 南陽 河源

巨人網絡通訊聲明:本文標題《Oracle用decode函數或CASE-WHEN實現自定義排序》,本文關鍵詞  Oracle,用,decode,函數,或,CASE-WHEN,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle用decode函數或CASE-WHEN實現自定義排序》相關的同類信息!
  • 本頁收集關于Oracle用decode函數或CASE-WHEN實現自定義排序的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 海口市| 鄂托克前旗| 峨眉山市| 霍城县| 聊城市| 伊金霍洛旗| 泰宁县| 太白县| 惠州市| 论坛| 澎湖县| 防城港市| 东至县| 慈溪市| 台南县| 扎鲁特旗| 犍为县| 扶余县| 丰宁| 儋州市| 五原县| 石家庄市| 镇远县| 宾川县| 卢湾区| 荣昌县| 兴和县| 西丰县| 乌兰浩特市| 仁布县| 山西省| 鹤岗市| 化德县| 宜州市| 肃宁县| 赤城县| 进贤县| 班戈县| 东阿县| 清镇市| 塔河县|