views:

276

answers:

1

I am trying to get the first part of a Guid Field with the TSQL substring function as follows

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

but all i get is this error.

Argument data type uniqueidentifier is invalid for argument 1 of substring function.

So what is going on here? Should i treat the Guid as pure string first or...?

Thanks in advance!

+5  A: 

Try this:

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

You can't perform SUBSTRING directly on a uniqueidentifier; you need to cast it to a string type (varchar) first.

Aaronaught