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

MySQLクエリ-バージョン番号を比較

    @symcbeanと@gordon-linoffのヒントをありがとう、私の最終的なクエリは次のようになります:

    SELECT *
    FROM versions WHERE CONCAT(
            LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(version_number, '.', 1), '.', -1), 10, '0'),
            LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(version_number, '.', 2), '.', -1), 10, '0'),
            LPAD(SUBSTRING_INDEX(SUBSTRING_INDEX(version_number, '.', 3), '.', -1), 10, '0') 
           ) > CONCAT(LPAD(2,10,'0'), LPAD(1,10,'0'), LPAD(27,10,'0'));
    

    これにより、各コンポーネントの長さを最大10桁にすることができます。

    これを変換します:

    X.XX.XXX > 2.1.27
    

    これに:

    '000000000X00000000XX0000000XXX' > '000000000200000000010000000027'
    


    1. 階層データを並べ替えるMysql

    2. JDBCを使用してMysqlに接続するときのClassNotFoundException

    3. 非特権匿名アクセスを介したPostgreSQLのユーザーアカウントのセルフプロビジョニング

    4. PostgreSQLで数値をフォーマットするときにロケールを変更する方法