Tôi muốn chèn văn bản với dấu nháy đơn Ví dụ john để bảng trong sql server 2005 cơ sở dữ liệuLàm thế nào để chèn văn bản với máy chủ sql đơn ngoặc kép 2005
Trả lời
INSERT INTO Table1 (Column1) VALUES ('John''s')
Hoặc bạn có thể sử dụng một thủ tục lưu trữ và truyền tham số như -
usp_Proc1 @Column1 = 'John''s'
Nếu bạn đang sử dụng truy vấn INSERT và không phải là thủ tục lưu trữ, bạn sẽ phải thoát khỏi báo giá với hai dấu ngoặc kép, nếu không thì sẽ không sao nếu bạn không thực hiện.
thoát quote duy nhất với thêm một single như Kirtan chỉ ra
Và nếu bạn đang cố gắng để thực hiện một sql động (mà không phải là một ý tưởng tốt ở nơi đầu tiên) thông qua sp_executesql sau đó mã dưới đây sẽ làm việc cho bạn
sp_executesql N'INSERT INTO SomeTable (SomeColumn) VALUES (''John''''s'')'
Câu trả lời thực sự phụ thuộc vào cách bạn đang thực hiện INSERT
.
Nếu bạn đang xác định một SQL đen thì bạn cần phải sử dụng cách tiếp cận kép đánh dấu:
-- Direct insert
INSERT INTO Table1 (Column1) VALUES ('John''s')
-- Using a parameter, with a direct insert
DECLARE @Value varchar(50)
SET @Value = 'John''s'
INSERT INTO Table1 (Column1) VALUES (@Value)
-- Using a parameter, with dynamic SQL
DECLARE @Value varchar(50)
SET @Value = 'John''s'
EXEC sp_executesql 'INSERT INTO Table1 (Column1) VALUES (@p1)', '@p1 varchar(50)', @Value
Nếu bạn đang làm việc INSERT từ mã, các thông số sử dụng:
// Sample ADO.NET
using (SqlConnection conn = new SqlConnection(connectionString)) {
conn.Open();
using (SqlCommand command = conn.CreateCommand()) {
command.CommandText = "INSERT INTO Table1 (Column1) VALUES (@Value)";
command.Parameters.AddWithValue("@Value", "John's");
command.ExecuteNonQuery();
}
}
Nếu bạn dữ liệu chứa người dùng nhập, trực tiếp hoặc gián tiếp, CÁCH THAM SỐ SỬ DỤNG. Các tham số bảo vệ chống lại các cuộc tấn công SQL Injection. Không bao giờ xây dựng SQL động với đầu vào của người dùng.
cảm ơn bạn ... nhưng mã này sẽ không hoạt động cho querry cập nhật động –
Bạn có thể cung cấp thêm chi tiết về truy vấn của mình không? Các tham số sẽ hoạt động trong hầu hết các truy vấn. Tôi tò mò tại sao họ sẽ không làm việc trong trường hợp của bạn. – Brannon
này đã làm việc cho tôi:
INSERT INTO [TABLE]
VALUES ('text','''test.com''', 1)
Về cơ bản, bạn nên tận dụng dấu nháy đơn bạn muốn chèn và thay thế bằng hai. Vì vậy, nếu bạn muốn chèn một chuỗi văn bản ('văn bản') và thêm dấu nháy đơn xung quanh nó, nó sẽ là ('' 'văn bản' ''). Hi vọng điêu nay co ich.
Câu trả lời này hoạt động trong SQL Server 2005, 2008, 2012.
Đôi khi giá trị có MANY trích dẫn đơn. Thay vì thêm một trích dẫn duy nhất bên cạnh mỗi trích dẫn đơn như được mô tả ở trên với 'John''s'
. Và có các ví dụ sử dụng hàm REPLACE
để xử lý nhiều dấu nháy đơn trong một giá trị.
Hãy thử cách sau. Đây là một câu lệnh cập nhật nhưng bạn cũng có thể sử dụng nó trong câu lệnh INSERT
.
SET QUOTED_IDENTIFIER OFF
DECLARE @s VARCHAR(1000)
SET @s = "SiteId:'1'; Rvc:'6'; Chk:'1832'; TrEmp:'150'; WsId:'81'; TtlDue:'-9.40'; TtlDsc:'0'; TtlSvc:'0'; TtlTax:'-0.88'; TtlPay:'0'; TipAmt:'0.00'; SvcSeq:'09'; ReTx:'N'; TraceId:'160110124347N091832';"
UPDATE TransactionPaymentPrompt
set PromptData = @s
from TransactionPaymentPrompt tpp with (nolock)
where tpp.TransactionID = '106627343'
Bạn đã hỏi cách thoát khỏi Apostrophe character (')
trong SQL Server. Tất cả các câu trả lời trên làm một công việc tuyệt vời để giải thích điều đó.
Tuy nhiên, tùy thuộc vào tình huống, Right single quotation mark character (’)
có thể phù hợp.
(Không ký tự thoát cần thiết)
-- Direct insert
INSERT INTO Table1 (Column1) VALUES ('John’s')
• Apostrophe (U + 0027)
• Dấu ngoặc kép đơn phải (U + 2019)
- 1. phù hợp với văn bản trong dấu ngoặc kép (newbie)
- 2. Làm thế nào để quấn đầu ra truy vấn của tôi với đơn ngoặc kép
- 3. Làm thế nào để hiển thị một văn bản trong XAML có chứa dấu ngoặc kép và đơn?
- 4. Làm thế nào để bao quanh một văn bản trong dấu ngoặc kép trong IDE NetBeans
- 5. Xóa văn bản trong dấu ngoặc đơn (dấu ngoặc đơn trong dấu ngoặc đơn)
- 6. Làm thế nào để khai báo một chuỗi với cả dấu ngoặc kép đơn và kép trong YAML?
- 7. Đếm (*) so với Đếm (Id) trong máy chủ sql 2005
- 8. Chọn văn bản bên trong dấu ngoặc đơn từ bên ngoài dấu ngoặc đơn trong Vim
- 9. Làm cách nào để tạo các câu lệnh chèn với máy chủ Sql 2012?
- 10. Làm thế nào để ngăn chặn Vim indenting gói văn bản trong ngoặc đơn
- 11. Làm thế nào để thoát khỏi dấu ngoặc kép trong khi tạo một hộp văn bản trong jquery/javascript?
- 12. Hạ cấp máy chủ SQL 2008 sang SQL Server 2005
- 13. Máy chủ SQL. Làm thế nào để làm mới intellisense?
- 14. Làm cách nào để in dấu ngoặc kép trong C?
- 15. làm thế nào để chèn văn bản unicode để SQL Server từ cửa sổ truy vấn
- 16. Làm thế nào để chèn dữ liệu nhị phân vào máy chủ sql bằng SSMS
- 17. làm thế nào để bạn chèn giá trị null vào máy chủ sql
- 18. Văn bản đối sánh regex Python giữa dấu ngoặc kép
- 19. Sử dụng dấu ngoặc kép đơn và kép cho href
- 20. Thay thế dấu ngoặc kép trong Javascript?
- 21. php đơn và đôi dấu ngoặc kép
- 22. mẫu grep đơn và đôi ngoặc kép
- 23. chắp thêm các giá trị với cả dấu nháy đơn và dấu ngoặc kép vào hộp văn bản
- 24. Làm thế nào để chèn dữ liệu xml vào bảng trong sql server 2005
- 25. Làm thế nào để thoát khỏi dấu nháy đơn vào dấu ngoặc kép vào dấu nháy đơn
- 26. Làm thế nào để đại diện cho dấu ngoặc kép nhân vật kép (") trong regex?
- 27. Cách sử dụng như điều kiện với nhiều giá trị trong máy chủ sql 2005?
- 28. Tìm và Thay thế Tất cả Nhưng Văn bản Giữa Dấu ngoặc kép trong VS2010
- 29. Làm thế nào để kết nối Sqlcmd với máy chủ?
- 30. Làm cách nào để xóa văn bản trong dấu ngoặc đơn bằng regex?
nhưng thêm một trích dẫn đơn khác với câu hỏi hiện có sẽ tạo ra vấn đề trong khi lưu dữ liệu vào bảng khác ví dụ: chèn vào bảng1 (chọn * từ bảng 2) –