mysql—從字符串中提取數字(類型1)


select reason,CHAR_LENGTH(reason),mid(reason,5,CHAR_LENGTH(reason)-5)+0 from `table`

 

解釋:

CHAR_LENGTH(字符串)   #計算字符串長度

mid(字符串,5,CHAR_LENGTH(reason)-5)   #從字符串第5位開始截取,截取長度為   字符串長度-5,結果是字符串不是數值

PS:所以,記得把字符串結果轉為數值。否則,在字符串中,max()比較12  2誰最大的時候,結果會選擇2 而不是12

mysql將字符串轉成數字

 

今天寫sql語句時,相對字符串類型的數字進行排序,怎么做呢?

需要先轉換成數字再進行排序

1.直接用加法

  字符串+0

eg:

  select * from orders order by (mark+0)  desc

2.使用函數

CAST(value as type);

CONVERT(value, type);

注:

  這里的type可以為:

    浮點數 : DECIMAL 
    整數 : SIGNED
    無符號整數 : UNSIGNED 

eg:

  select * from orders order by CONVERT(mark,SIGNED)  desc

  select * from orders order by CAST(mark as SIGNED)  desc

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM