I use below to do this for inserting a record into a table. A kind gentlement from India actually helped me with it and it works. If it ever breaks I am in trouble
--insert into dental
Declare @error varchar(100)
DECLARE @IntVal int
declare @hexright varchar(5)
SELECT @IntVal = @vactid
declare @hexfinal varchar(12)
SELECT @hexfinal = SUBSTRING( hexstr , ( @IntVal / POWER( 16 , 7 ) ) % 16 + 1 , 1 ) +
SUBSTRING( hexstr , ( @IntVal / POWER( 16 , 6 ) ) % 16 + 1 , 1 ) +
SUBSTRING( hexstr , ( @IntVal / POWER( 16 , 5 ) ) % 16 + 1 , 1 ) +
SUBSTRING( hexstr , ( @IntVal / POWER( 16 , 4 ) ) % 16 + 1 , 1 ) +
SUBSTRING( hexstr , ( @IntVal / POWER( 16 , 3 ) ) % 16 + 1 , 1 ) +
SUBSTRING( hexstr , ( @IntVal / POWER( 16 , 2 ) ) % 16 + 1 , 1 ) +
SUBSTRING( hexstr , ( @IntVal / POWER( 16 , 1 ) ) % 16 + 1 , 1 ) +
SUBSTRING( hexstr , ( @IntVal / POWER( 16 , 0 ) ) % 16 + 1 , 1 )
FROM (
SELECT '0123456789ABCDEF' AS hexstr
) AS h
select @hexright = right(@hexfinal,5)