Comparer Varchar et UniqueIdentifier
En raison d'un plutôt brillant de surveillance dans mon projet actuel, nous avons quelques guid être stocké dans une colonne de type varchar dans une table, qui ont besoin d'être comparé à une colonne de type uniqueidentifier dans un autre.
Comment puis-je faire cela? SQL server simplement dit qu'il ne peut pas convertir une chaîne de caractères de type uniqueidentifier.
OriginalL'auteur Ed James | 2009-08-10
Vous devez vous connecter pour publier un commentaire.
Si SQL se plaint qu'il ne peut pas lancer cela signifie non seulement vous avez stocké les uniqueidentifier que varchar, vous avez utilisé un format différent de celui de SQL Server (par exemple. vous avez ajouté l' '{' et '}'). SQL est parfaitement capable de la coulée de la chaîne de type uniqueidentifier lorsqu'il est correctement mis en forme:
Selon la façon dont vous actuellement stockées uniqueidentifier, vous aurez plus de chances d'avoir tomodify les données et de votre code afin de correspondre au format SQL (pas de {}).
OriginalL'auteur Remus Rusanu
Convertir le type uniqueidentifier varchar:
OriginalL'auteur K.A.D.
J'ai travaillé en place le script de test suivant:
Exécuter dans un SSM fenêtre ou via slqcmd -je fichier, les résultats sont les mêmes -- SQL (2005) n'a conversion implicite. Cela confirme ce que je me souviens de SQL 2000, lorsque j'ai eu un problème similaire il y a des années.
L'essentiel, c'est que la chaîne de type varchar doit correspondre à la guid modèle:
OriginalL'auteur Philip Kelley
Vous aurez à éliminer l'autre de type uniqueidentifier varchar.
SQL Server est probablement tryng de jeter des choses comme "bob" type uniqueidentifier et il échoue.
Selon CAST/CONVERTIR il est permis, donc ça doit être les valeurs dans la colonne de type varchar.
OriginalL'auteur gbn