Mysql文字列タイプを数値に変換して並べ替え

554 ワード

シナリオ:最近のプロジェクトでsqlを書くとき、文字列タイプの数字でソートする場合、直接ソートできない場合は、文字列タイプを数字に変換してからソートする必要があります.
3つの解決方法:
1.数字の後ろに直接0を付ける.すなわち、(value+0)形式
select * from sys_user order by (sort+0) desc 

2.cast()関数、すなわちcast(value as type)フォーマットを使用する
select * from sys_user order by cast(sort as signed) desc 

3.convert()関数、すなわちconvert(value,type)形式を使用する
select * from sys_user order by convert(sort , signed) desc 

メモ:valueは文字列タイプのフィールドを表し、typeは変換するタイプsignedが整数タイプであることを表します.
OK今日はここまで