2009-06-24 2 views

Antwort

9

Haben Sie versucht, zuerst in einen String zu konvertieren oder ihn zu konvertieren, und dann concating?

CAST(NEWID() AS NVARCHAR(36)) 
+0

Ich habe versucht, es funktioniert nicht, falsche Syntax in der Nähe von Cast, oder konvertieren, wenn Konvertieren –

+0

@ Yaser: "SELECT CAST (NEWID() AS NVARCHAR (36))". Bitte versuchen Sie selbst zu denken. – gbn

+0

Sorry Liebe Freunde, meine Bedingung ist WHERE (CreatedBy = CAST (@p_CreatedBy AS NVARCHAR (100))) hier @CreatedBy ist ein Uniqueidentifier ich habe sogar versucht, es zu konvertieren, kein Ergebnis bekommen. Bitte help –

7

Ich weiß, das ist alt, aber ich lief in diesem Beitrag versucht, die gleiche Sache, um herauszufinden, und das Problem war, dass ich nicht genug ist um meine eindeutige Kennung hatte. Ich hatte im Grunde:

'SELECT * FROM Interface WHERE ID = '' + CAST(@InterfaceID AS NVARCHAR(36)) + '' AND 1 = 1'

ich einen Fehler bekam sagen falsche Syntax in der Nähe von 00A (der erste Teil der GUID). Das Problem ist, dass dies wurde Parsen:

SELECT * FROM Interface WHERE ID = 00A3F5B5-C7B3-4128-B03A-EADE79129F40 AND 1 = 1

Durch die Änderung meiner Anfrage an:

'SELECT * FROM Interface WHERE ID = ''' + CAST(@InterfaceID AS NVARCHAR(36)) + ''' AND 1 = 1'

mit drei Apostrophe Ich habe:

SELECT * FROM Interface WHERE ID = '00A3F5B5-C7B3-4128-B03A-EADE79129F40' AND 1 = 1

Welche ist richtig.

Hoffe, dass hilft.