2010-01-31 8 views
0

Je suis en train de faire la première partie d'un Guid terrain avec la fonction de sous-chaîne TSQL comme suitArgument de données de type uniqueidentifier est invalide pour l'argument 1 de la fonction substring

SELECT SUBSTRING(Guid, 1, 8) AS Gu FROM MyTable 

mais tout ce que je reçois est cette erreur.

Le type de données d'argument uniqueidentifier n'est pas valide pour l'argument 1 de la fonction de sous-chaîne.

Alors, que se passe-t-il ici? Devrais-je traiter le Guid comme de la ficelle pure d'abord ou ...?

Merci d'avance!

+0

Guid est un tas de bits, il est juste présenté à vous dans un format lisible (comme toute chaîne je suppose) mais dans ce cas, vous devez le convertir comme la réponse d'Aaron. –

Répondre

11

Essayez ceci:

SELECT SUBSTRING(CAST(Guid AS varchar(38)), 1, 8) AS Gu FROM MyTable 

Vous ne pouvez pas effectuer SUBSTRING directement sur un uniqueidentifier; vous devez d'abord le convertir en un type de chaîne (varchar).

Questions connexes