Er is een ingebouwde functie om hex strings te genereren van binaire waarden
SELECT
'#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 0)),
'#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 255))
Je hebt binary(3)
nodig om de juiste lengte van de uitvoerstring te garanderen
Dit is verkeerd. Je krijgt 4 hexadecimale cijfers omdat 0 en 255 hier 4 byte zijn int
waarden
SELECT
'#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 0)),
'#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 255))
Update oktober 2017:
De conversie is nu ingebouwd naar SQL Server (sinds 2008!!), dus we kunnen gewoon CONVERT
gebruikenSELECT '#' + CONVERT(char(6), CONVERT(BINARY(3), 2570841), 2)