substring_index([列名],[分割符],[段數])
列名:要分割列裡內容的列名
分割符:用來切割的符號
段數:切割後取的長度
以下示例說明引數:
表info
列c_code
值1-10-ache
則select substring_index(c_code,'-',1) as c_code from info
會輸出c_code
1而select substring_index(c_code,'-',2) as c_code from info
會輸出1-10
select substring_index(c_code,'-',-1) as c_code from info
會輸出ache
這裡-1跟高階語言中字串擷取一樣,同樣負數表示從後面開始計算
排序,則
1-10-ache
1-2-ache
2-11-ache
2-3-ache
2-5-ache
select * from info order by (substring_index(c_code,'-',1)+0),(substring_index(substring_index(c_code,'-',2),'-',-1)+0) asc
輸出1-2-ache
1-10-ache
2-3-ache
2-5-ache
2-11-ache
利用雙重擷取,之後利用mysql特性(+0會自動轉化也數字),作數值的大小比較
mysql學習,字串轉成數字並比較排序
mysql學習,字串轉成數字並比較排序 substring index 列名 分割符 段數 列名 要分割列裡內容的列名 分割符 用來切割的符號 段數 切割後取的長度 以下示例說明引數 表info 列c code 值1 10 ache 則select substring index c code,1 ...
mysql將字串轉成數字
今天寫sql語句時,相對字串型別的數字進行排序,怎麼做呢?需要先轉換成數字再進行排序 1.直接用加法 字串 0 eg select from orders order by mark 0 desc 2.使用函式 cast value as type convert value,type 注 這裡的t...
mysql將字串轉成數字
今天寫sql語句時,相對字串型別的數字進行排序,怎麼做呢?需要先轉換成數字再進行排序 1.直接用加法 字串 0 eg select from orders order by mark 0 desc eg 以分類字段進行分組,獲取分類總數amount,和qty 數量 最後以amount進行有大到小的倒...