Converti INT in esadecimale:
SELECT CONVERT(VARBINARY(8), 16777215)
Converti esadecimale in INT:
SELECT CONVERT(INT, 0xFFFFFF)
Aggiornamento 16-03-2015
L'esempio sopra ha la limitazione che funziona solo quando il valore HEX è dato come un intero letterale. Per completezza, se il valore da convertire è una stringa esadecimale (come trovata in una colonna varchar) usa:
-- 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))
Nota: La stringa deve contenere un numero pari di cifre esadecimali. Un numero dispari di cifre produrrà un errore.
Maggiori dettagli sono disponibili nella sezione "Stili binari" di CAST e CONVERT (Transact-SQL). Credo che sia necessario SQL Server 2008 o versioni successive.