2017-06-19 3 views
-1

Je génère des valeurs d'identificateur uniques à l'aide de NEWID(). Le problème est parfois que les valeurs génèrent comme "65687519-E612-4B86-A8D8-F44E53DD6EDC" La première partie de la valeur de l'identificateur unique est tous les caractères numériques (65687519). Cela crée un problème en HTML. Quelle est la manière de résoudre le problème? Je n'ai toujours pas pu résoudre le problème. Quelqu'un s'il vous plaît aider.NEWID() génère des valeurs de format incorrect dans SQL Server

+3

Ensuite, le problème est votre code et non la fonction 'NEWID()'. –

+0

Je génère la valeur en utilisant NEWID(). Il n'y a rien à faire avec le codage. @ juergen d –

+0

Lorsque vous avez un problème avec la sortie, il y a un problème avec votre code. 'NEWID()' renvoie une sortie toujours valide. –

Répondre

0

recherchez-vous quelque chose comme:

SELECT ABS(CAST(CAST(NEWID() AS VARBINARY(5)) AS Bigint)) as UNIQUE_NUMERIC 

ne déteste pas Google. Google est ton ami! problèmes similaires déjà affichés & a répondu comme How to get numeric random uniqueid in SQL Server

0

Si vous ne se soucient pas vraiment de l'identifiant et veulent juste qu'il soit unique, vous pouvez préfixer une chaîne prédéterminée à elle (qui ne nuira pas à son caractère unique, bien sûr). E.g .:

SELECT 'id' + CAST(newid() AS VARCHAR(36)) AS new_id