Der er en indbygget funktion til at generere hex strenge fra binære værdier
SELECT
'#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 0)),
'#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 255))
Du skal bruge binary(3)
for at sikre den korrekte længde af outputstrengen
Dette er forkert. Du får 4 hex-cifre, fordi 0 og 255 her er 4 byte int
værdier
SELECT
'#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 0)),
'#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 255))
Okt 2017 Opdatering:
Konverteringen er nu indbygget i SQL Server (siden 2008!!), så vi kan simpelthen bruge KONVERT
SELECT '#' + CONVERT(char(6), CONVERT(BINARY(3), 2570841), 2)