Conversion d'entiers et de chaînes hexadécimales dans SQL Server
Les requêtes Sybase et Excel fournies visent à convertir des entiers en hexadécimaux et des chaînes hexadécimales en entiers. Toutefois, ces requêtes peuvent échouer lorsqu'elles sont exécutées dans Microsoft SQL Server. Heureusement, il existe des méthodes simples pour effectuer ces conversions dans SQL Server.
Conversion d'un entier en hexadécimal
Pour convertir un entier (représenté par int_value) en chaîne hexadécimale, utilisez la syntaxe suivante :
SELECT CONVERT(VARBINARY(8), int_value)
Cette requête renverra une chaîne hexadécimale de 8 octets représentation de l'entier.
Conversion Hex en Integer
Pour convertir une chaîne hexadécimale (représentée par hex_string) en un entier, utilisez la syntaxe suivante :
SELECT CONVERT(INT, hex_string)
Cette requête renverra l'équivalent entier de l'hexadécimal string.
Mise à jour
En 2015, une mise à jour a été effectuée pour résoudre la limitation selon laquelle les conversions ci-dessus ne fonctionnent qu'avec des valeurs hexadécimales fournies sous forme de littéraux entiers. Les exemples suivants montrent comment convertir des chaînes hexadécimales pouvant être stockées dans une colonne varchar :
Avec le marqueur '0x' :
SELECT CONVERT(INT, CONVERT(VARBINARY, '0x1FFFFF', 1))
Sans ' Marqueur 0x' :
SELECT CONVERT(INT, CONVERT(VARBINARY, '1FFFFF', 2))
Notez que la chaîne hexadécimale doit contenir un nombre pair de chiffres hexadécimaux ; un nombre impair de chiffres entraînera une erreur.
Pour plus de détails, consultez la section « Styles binaires » de la documentation CAST et CONVERT pour SQL Server. Ces méthodes devraient fonctionner correctement dans SQL Server 2008 ou versions ultérieures.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!