Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara membandingkan versi perangkat lunak menggunakan 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Saya Bisa Masuk dan Menemukan Kueri Termahal?

  2. Ubah 'datetimeoffset' menjadi 'tanggal' di SQL Server (Contoh T-SQL)

  3. Setel opsi 9 dalam prosedur tersimpan SQL Server menggunakan WinHttp.WinHttpRequest.5.1 untuk TLS 1.2

  4. Msg 8672, Level 16, State 1, Line 1 Pernyataan MERGE mencoba untuk UPDATE atau DELETE baris yang sama lebih dari sekali

  5. Sql Server - terhubung dengan otentikasi windows