首先,如果裡面存的是字母,會按
英文本母
順序排序,如果含有數字,按數字大小排序,如果含有漢字,按照所選擇的
漢字編碼
排序。一般情況下,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,首...