Il existe une fonction intégrée pour générer des chaînes hexadécimales à partir de valeurs binaires
SELECT
'#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 0)),
'#' + sys.fn_varbintohexstr(CONVERT(BINARY(3), 255))
Vous avez besoin de binary(3)
pour garantir la longueur correcte de la chaîne de sortie
Ceci est faux. Vous obtenez 4 chiffres hexadécimaux car 0 et 255 sont ici sur 4 octets int
valeurs
SELECT
'#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 0)),
'#' + sys.fn_varbintohexstr(CONVERT(varBINARY(8), 255))
Mise à jour d'octobre 2017 :
La conversion est maintenant intégrée à SQL Server (depuis 2008 !!) nous pouvons donc simplement utiliser CONVERT
SELECT '#' + CONVERT(char(6), CONVERT(BINARY(3), 2570841), 2)