mysql 查詢varchar型別字段排序

2021-07-28 12:29:43 字數 514 閱讀 7560

首先,如果裡面存的是字母,會按

英文本母

順序排序,如果含有數字,按數字大小排序,如果含有漢字,按照所選擇的

漢字編碼

排序。一般情況下,int型別的字段可以直接使用max()函式查詢出某一列的最大值,但是對於varchar型的字段,我們有的時候需要排序或查最大值,直接用max()函式查最大值,會發現值為9的比值10大一些,解決方案如下:

1.select max(field+0) from tablename

2.同樣情況,使用cast()函式

select max(cast(field

as decimal)) from tablename

排序:select field from tablename order by field+0 desc

中文排序想要按拼音排序:先把資料庫

的字符集設定為utf8,再

select field from tablename order by convert(field using gbk)

mysql關於char和varchar型別的區別

在mysql中,字串型別中的char屬於有固定長度的字串型別 二varchar型別屬於可變長度的字串型別 如何理解固定長度和可變長度呢?固定長度指 當長度設定為4時,長度是固定的 當實際值只有1位時,會自動用空格補足4位 可變長度指 當長度設定為4時,長度是隨著實際值為改變,最長為4 當實際值只有1...

MySQL資料庫varchar轉int型別的方法

mysql varchar轉int型別的方法 cast函式的使用 1 問題描述 獲取乙個表user中age的最大值。由於歷史原因,age是varchar型別的 2 問題解決 方案一 select max cast as unsigned integer from user 方案二 select fr...

mysql電商類查詢 mysql聯合查詢

join 按照功能大致分為如下三類 inner join 內連線,或等值連線 獲取兩個表中字段匹配關係的記錄。left join 左連線 獲取左表所有記錄,即使右表沒有對應匹配的記錄。right join 右連線 與 left join 相反,用於獲取右表所有記錄,即使左表沒有對應匹配的記錄。1,首...