MYSQL 排序中的字段型別轉換

2021-05-27 12:20:09 字數 333 閱讀 5060

欄位server_id是varchar型別,查詢時以server_id排序,排序結果有問題?

select server_id from cardserver where game_id = 1order by server_id desc limit 10;

原因是:資料庫根據字串排序,10也排在9之後了。

解決辦法:把字串型別轉換為數值型別;

方法一:server_id+0後再排序

方法二:使用mysql函式cast/convert

cast(server_id as signed)

或者convert(server_id,signed)

mysql中欄位型別轉換排序

表中字段server id是varchar型別,現在我們查詢資料時想以server id排一下序,排序後的結果 select server id from cardserver where game id 1 order by server id desc limit 10 server id 8 ...

mysql中欄位型別轉換排序

size medium 表中字段server id是varchar型別,現在我們查詢資料時想以server id排一下序,排序後的結果 select server id from cardserver where game id 1 order by server id desc limit 10 ...

mysql 查詢varchar型別字段排序

首先,如果裡面存的是字母,會按 英文本母 順序排序,如果含有數字,按數字大小排序,如果含有漢字,按照所選擇的 漢字編碼 排序。一般情況下,int型別的字段可以直接使用max 函式查詢出某一列的最大值,但是對於varchar型的字段,我們有的時候需要排序或查最大值,直接用max 函式查最大值,會發現值...