Konwertuj INT na szesnastkowe:
SELECT CONVERT(VARBINARY(8), 16777215)
Zamień szesnastkę na INT:
SELECT CONVERT(INT, 0xFFFFFF)
Aktualizacja 16.03.2015
Powyższy przykład ma ograniczenie, że działa tylko wtedy, gdy wartość HEX jest podana jako literał całkowity. Dla kompletności, jeśli wartość do przekonwertowania jest ciągiem szesnastkowym (takim jak w kolumnie varchar), użyj:
-- 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))
Uwaga: Ciąg musi zawierać parzystą liczbę cyfr szesnastkowych. Nieparzysta liczba cyfr spowoduje błąd.
Więcej szczegółów można znaleźć w sekcji "Style binarne" CAST i CONVERT (Transact-SQL). Uważam, że wymagany jest SQL Server 2008 lub nowszy.