Tôi đã tự hỏi nếu có một cách để lưu trữ dấu ngoặc kép trong SQL Server 2008. Tôi đang xây dựng một số báo cáo và tất cả các báo cáo này là chính xác, ngoại trừ chúng chỉ khác nhau các mã tôi đang chọn. Ví dụ: một báo cáo sử dụng mã 'abc', 'def', 'ghi' và một báo cáo khác sử dụng mã 'jkl', 'mno', 'pqr'. Tôi đã suy nghĩ để giảm số lượng các thủ tục lưu trữ tôi sẽ phải thực hiện, tôi có thể thực hiện một tham số trên báo cáo để chọn loại báo cáo để chạy. Dựa trên đó, tôi sẽ sử dụng các mã chính xác. Vì vậy, tôi sẽ lưu trữ các mã này trong một biến varchar. Dưới đây là chức năng tôi đã hy vọng:Lưu trữ dấu nháy đơn trong biến varchar SQL Server 2008
DECLARE @codes1 varchar, @codes2 varchar
SET @codes1 = ''abc', 'def', 'ghi''
SET @codes2 = ''jkl', 'mno', 'pqr''
Sau đó, tôi sẽ sử dụng biến varchar thích hợp dựa trên tham số mà người dùng chọn. Vấn đề duy nhất là thiết lập các biến vì chuỗi sẽ có dấu nháy đơn trong nó (chuỗi sẽ được sử dụng trong câu lệnh SQL 'IN', đó là lý do cho các dấu nháy đơn hiện diện).
Aka, thoát đơn '' 'bằng cách nhân đôi nó '' ''. – Oded
Bạn cũng cần độ dài trong các khai báo biến để tránh cắt ngắn ở 1 ký tự. –
Cảm ơn! Đây chính xác là những gì tôi cần! Ngoài ra, cảm ơn @Martin cho nhận xét đã thêm! Tôi cũng cần điều này! –