mysql學習,字串轉成數字並比較排序

2021-06-22 03:23:11 字數 822 閱讀 2949

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進行有大到小的倒...