sql >> Database >  >> RDS >> Sqlserver

Converteer integer naar hex en hex naar integer

Converteer INT naar hex:

SELECT CONVERT(VARBINARY(8), 16777215)

Hex naar INT converteren:

SELECT CONVERT(INT, 0xFFFFFF)

Bijwerken 16-03-2015

Het bovenstaande voorbeeld heeft de beperking dat het alleen werkt als de HEX-waarde wordt gegeven als een letterlijke integer. Voor de volledigheid:als de te converteren waarde een hexadecimale tekenreeks is (zoals gevonden in een varchar-kolom), gebruik dan:

-- 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))

Opmerking: De string moet een even aantal hexadecimale cijfers bevatten. Een oneven aantal cijfers levert een fout op.

Meer details zijn te vinden in de sectie "Binaire stijlen" van CAST en CONVERT (Transact-SQL). Ik geloof dat SQL Server 2008 of later vereist is.



  1. dbms_output.put_line

  2. Een gegevensmodel voor kinderfeestjes

  3. Hoe maak je een veilig login-script in PHP en MySQL

  4. PostgreSQL kolommen naar rijen converteren? transponeren?