2009-06-24 24 views

Trả lời

9

Bạn đã thử truyền hoặc chuyển đổi thành chuỗi trước, sau đó đồng bộ hóa?

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

tôi đã thử tính năng này không hoạt động, đưa cú pháp không chính xác gần hoặc chuyển đổi nếu im chuyển đổi –

+0

@Yaser: "CHỌN CAST (NEWID() AS NVARCHAR (36))". Hãy thử và suy nghĩ cho chính mình. – gbn

+0

Xin lỗi Các bạn thân mến nơi tôi đang ở tình trạng WHERE (CreatedBy = CAST (@p_CreatedBy AS NVARCHAR (100))) ở đây @CreatedBy là một uniqueidentifier tôi thậm chí đã thử chuyển đổi nó, không nhận được kết quả nào. Vui lòng giúp –

7

Tôi biết điều này là cũ nhưng tôi chạy vào bài đăng này cố gắng tìm ra điều tương tự và vấn đề là tôi không có đủ số nhận dạng duy nhất của mình. Tôi về cơ bản đã có:

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

tôi đã nhận một lỗi nói rằng cú pháp không chính xác gần 00A (phần đầu tiên của GUID). Vấn đề là điều này đã được phân tích cú pháp để:

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

Bằng cách thay đổi truy vấn của tôi để:

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

với ba dấu nháy tôi nhận:

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

Đó là chính xác.

Hy vọng điều đó sẽ hữu ích.

Các vấn đề liên quan