sql >> データベース >  >> RDS >> Mysql

数値としてのSQL順序文字列

    とにかく数値のみを格納する場合は、可能であれば、列のデータ型を数値に変更する必要があります。

    それができない場合は、列の値をintegerにキャストします。 明示的に

    select col from yourtable
    order by cast(col as unsigned)
    

    または暗黙的に たとえば、数値への変換を強制する数学演算を使用します

    select col from yourtable
    order by col + 0
    

    ところで、MySQLは文字列を左から右に変換します。例:

    string value  |  integer value after conversion
    --------------+--------------------------------
    '1'           |  1
    'ABC'         |  0   /* the string does not contain a number, so the result is 0 */
    '123miles'    |  123 
    '$123'        |  0   /* the left side of the string does not start with a number */
    


    1. MariaDBで重複する行を削除する2つの方法(主キーを無視します)

    2. MySQLJOINとLEFTJOINの違い

    3. SQLServerのGOコマンドについて

    4. Psql出力で結果セットの装飾を非表示にする方法