mysql數值字串型別的按照數值進行排序

2021-08-14 13:10:31 字數 520 閱讀 9623

1

2

3

order by 欄位名稱+0 desc/asc的形式進行排序(親測有效)

order by 欄位名稱*1 desc/asc的形式進行排序( 沒有進行測試 )

----這樣mysql會將數值字串型別的資料當作數值進行處理,但是存在效率問題,不推薦使用varchar/char型別來儲存數值,這樣會帶來不不必要的問題.注:

在專案中,

有乙個欄位是有可能是字串也有可能是數字,但如果是數字,需要按照大小排序,所以就找到了上述的博文,親測可用,如下:博主的第二種方式也是可以的,測試通過

舉乙個版本號資料作為例子:

比較以下兩種排序:

在通過範圍查詢時也可能會遇到排序問題,也可以通過

方式進行排序

數值字串

加粗樣式 數值與字串 受限於電腦記憶體 數字 int float 布林none 列表list l 1,2,3 l 1 2 字典表dict d d.get name d name 元組t 1,2,3,4 元組與列表區別 列表可以改變相應下標資料,元組不行。數值 宣告賦值使用 表示式 佔位符.forma...

Shell數值 字串比較

僅用shell 能否讀取檔案中的第乙個數 二元比較操作符,比較變數或者比較數字.注意數字與字串的區別.整數比較 eq 等於,如 if a eq b ne 不等於,如 if a ne b gt 大於,如 if a gt b ge 大於等於,如 if a ge b lt 小於,如 if a lt b l...

Shell數值 字串比較

shell中字串 數值的比較 二元比較操作符,比較變數或者比較數字.注意數字與字串的區別.整數比較 eq 等於,如 if a eq b ne 不等於,如 if a ne b gt 大於,如 if a gt b ge 大於等於,如 if a ge b lt 小於,如 if a lt b le 小於等於...