sql >> Database teknologi >  >> RDS >> Sqlserver

Konverter heltal til hex og hex til heltal

Konverter INT til hex:

SELECT CONVERT(VARBINARY(8), 16777215)
 

Konverter hex til INT:

SELECT CONVERT(INT, 0xFFFFFF)
 

Opdatering 2015-03-16

Ovenstående eksempel har den begrænsning, at det kun virker, når HEX-værdien er angivet som et heltal. For fuldstændighedens skyld, hvis værdien, der skal konverteres, er en hexadecimal streng (som f.eks. findes i en varchar-kolonne), skal du bruge:

-- If the '0x' marker is present: SELECT CONVERT(INT, CONVERT(VARBINARY, '0x1FFFFF', 1)) -- If the '0x' marker is NOT present: SELECT CONVERT(INT, CONVERT(VARBINARY, '1FFFFF', 2))

Bemærk: Strengen skal indeholde et lige antal hex-cifre. Et ulige antal cifre vil give en fejl.

Flere detaljer kan findes i afsnittet "Binære stilarter" i CAST og CONVERT (Transact-SQL). Jeg tror, ​​at SQL Server 2008 eller nyere er påkrævet.



  1. SQL Server Index Baglæns Scan:Forståelse, Tuning

  2. Sådan fungerer implicitte transaktioner i SQL Server

  3. MySQL Vis brugere

  4. Oracle:'=ANY()' vs. 'IN ()'