Je souhaite générer des nombres hexadécimaux uniques dans SQL. Comment puis-je faire ceci?Création d'un nombre hexadécimal dans SQL
Si vous savez comment générer en C#, veuillez également l'inclure.
Je souhaite générer des nombres hexadécimaux uniques dans SQL. Comment puis-je faire ceci?Création d'un nombre hexadécimal dans SQL
Si vous savez comment générer en C#, veuillez également l'inclure.
SQL Server:
SELECT NEWID()
Oracle:
SELECT SYS_GUID()
FROM dual
MySQL:
SELECT UUID()
Dans PostgreSQL, vous devrez utiliser une fonction externe, même si elle est de type UUID
.
Dans SQL Server: newid()
En C#: System.Guid.NewGuid()
Ces vous obtenez GUID's, qui sont uniques, les numéros hexadécimaux; Cependant, ils ont tendance à avoir des tirets (-) au milieu d'eux, donc vous devrez peut-être faire un peu d'analyse de chaînes pour obtenir ce que vous voulez. A part ça, cependant, cela devrait marcher pour vous.
Vous pouvez utiliser une colonne IDENTITY entier puis un Conver que Hex en utilisant
CONVERT(varbinary(8), MyTable.MyId)
Devrait être varbinary (8). Aussi, question pour l'OP: Cela vous donne un numéro unique pour cette table. Si vous voulez simplement un numéro hexadécimal unique pour identifier une ligne dans une table, utilisez celui-ci - beaucoup plus facile à gérer et à saisir pour les requêtes manuelles. – Eric
Je ressens le besoin de souligner ... un nombre hexadécimal est juste comme un nombre décimal. Ce sont des chiffres. La seule différence est de savoir comment vous décidez de le représenter ou de l'afficher. –
Je suis d'accord avec le commentaire de Tom. Il semble y avoir une sorte de malentendu ici ... Pourquoi est-ce que vous avez besoin d'un nombre sous forme hexadécimale? –
Son exigence de l'utilisateur que nous devrions générer automatiquement un nombre HexaDecimal comme ID unique pas une valeur entière. – Waheed