INTを16進数に変換します:
SELECT CONVERT(VARBINARY(8), 16777215)
16進数をINTに変換します:
SELECT CONVERT(INT, 0xFFFFFF)
更新2015-03-16
上記の例には、HEX値が整数リテラルとして指定されている場合にのみ機能するという制限があります。完全を期すために、変換する値が16進文字列(varchar列にあるものなど)の場合は、次を使用します。
-- 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))
注: 文字列には、偶数の16進数が含まれている必要があります。桁数が奇数の場合、エラーが発生します。
詳細については、CASTおよびCONVERT(Transact-SQL)の「バイナリスタイル」セクションを参照してください。 SQLServer2008以降が必要だと思います。