K dispozici je vestavěná funkce pro generování hexadecimálních řetězců z binárních hodnot
SELECT
'#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 0)),
'#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 255))
Potřebujete binary(3)
abyste zajistili správnou délku výstupního řetězce
To je špatně. Získáte 4 hexadecimální číslice, protože 0 a 255 zde jsou 4 bajty int
hodnoty
SELECT
'#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 0)),
'#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 255))
Aktualizace z října 2017:
Konverze je nyní vestavěna do SQL Serveru (od roku 2008!!), takže můžeme jednoduše použít CONVERT
SELECT '#' + CONVERT(char(6), CONVERT(BINARY(3), 2570841), 2)