簡體   English   中英

帶有多個子字符串的 Mysql CASE

[英]Mysql CASE with multiple substring legths

我有數百個世界電話號碼。 每個都有其國家/地區前綴(前綴各不相同:有些是 1、2、3 或 4 位數字)+ 電話號碼。 我想編寫一個 mysql 查詢,它將使用前綴向我顯示國家/地區名稱。

示例:如果我對前 3 位數字使用子字符串,則它工作正常。 但是如何顯示 2 位或 4 位長的前綴?

SELECT(
CASE (SUBSTR(Number,1,3))
WHEN '998' Then 'Uzbekistan '
WHEN '996' Then 'Kyrgyzstan '
WHEN '995' Then 'Georgia '
.....
....
ELSE 'OTHERS' END ) AS Country

一個簡單的解決方案是基於CASE語句按順序計算的事實。

SELECT(
    CASE 
      WHEN SUBSTR(Number,1,2) = '23' Then 'Try For 23 '   
      WHEN SUBSTR(Number,1,3) = '998' Then 'Uzbekistan '
      WHEN SUBSTR(Number,1,3) = '996' Then 'Kyrgyzstan '
      WHEN SUBSTR(Number,1,3) = '995' Then 'Georgia '
     .....
     ....
     ELSE 'OTHERS' END ) AS Country

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM