2009-06-24 13 views

Odpowiedz

9

Czy próbowałeś najpierw rzucić lub przekonwertować na ciąg, a następnie próbować?

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

Próbowałem, że to nie działa, podając niepoprawną składnię w pobliżu rzutowania lub konwertując, jeśli dokonuję konwersji –

+0

@Yaser: "SELECT CAST (NEWID() AS NVARCHAR (36))". Spróbuj i pomyśl sam. – gbn

+0

Przykro nam Drodzy przyjaciele, mój stan to WHERE (CreatedBy = CAST (@p_CreatedBy AS NVARCHAR (100))) tutaj @CreatedBy jest unikalnymidentyfikatorem Próbowałem nawet przekonwertować go, nie uzyskując żadnego wyniku. Proszę pomóc –

7

wiem, że to jest stary, ale wpadłem na to stanowisko próbuje dowiedzieć się samo i problemem było to, że nie mam wystarczająco dużo „s wokół mojego unikalnego identyfikatora. I w zasadzie miał:

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

mam błąd mówiąc Niepoprawna składnia w pobliżu 00A (pierwsza część GUID). Problemem jest to, że został parsowania do:

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

Zmieniając moje zapytanie do:

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

z trzema apostrofami uzyskałem:

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

który jest poprawny.

Nadzieję, że pomaga.