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

SQL Serverを使用してソフトウェアバージョンを比較するにはどうすればよいですか?

    declare @v1 varchar(100) = '5.12'
    declare @v2 varchar(100) = '5.8'
    
    select 
        case 
        when CONVERT(int, LEFT(@v1, CHARINDEX('.', @v1)-1)) < CONVERT(int, LEFT(@v2, CHARINDEX('.', @v2)-1)) then 'v2 is newer'
        when CONVERT(int, LEFT(@v1, CHARINDEX('.', @v1)-1)) > CONVERT(int, LEFT(@v2, CHARINDEX('.', @v2)-1)) then 'v1 is newer'
        when CONVERT(int, substring(@v1, CHARINDEX('.', @v1)+1, LEN(@v1))) < CONVERT(int, substring(@v2, CHARINDEX('.', @v2)+1, LEN(@v1))) then 'v2 is newer'
        when CONVERT(int, substring(@v1, CHARINDEX('.', @v1)+1, LEN(@v1))) > CONVERT(int, substring(@v2, CHARINDEX('.', @v2)+1, LEN(@v1))) then 'v1 is newer'
        else 'same!'
    
        end
    


    1. PostgreSQL用のpt-pg-summaryPerconaToolkitの使用

    2. SQLで大量のデータを効率的に挿入

    3. 無料で広く使用されているトップ18のオープンソースNoSQLデータベース

    4. PostgreSQLクエリで名前付き定数を定義する方法はありますか?