Hướng dẫn replace single quote in mysql - thay thế một câu trích dẫn trong mysql

Tôi có hai cơ sở dữ liệu. Người ta có dấu nháy đơn trong các tên như O'Bannon và người ta thì không. Tôi cần phải hợp nhất chúng và tìm các bản sao. Vì khó khăn hơn để thêm dấu nháy đơn nên thay vào đó, tôi sẽ loại bỏ chúng

Nhưng điều này...

UPDATE Client
SET Last_Name = REPLACE[''','']

Rõ ràng sẽ không hoạt động. Làm thế nào để một người thoát khỏi '.

Tôi đang sử dụng Xojo [không phải PHP]

Conrad Frix

51.1K12 Huy hiệu vàng90 Huy hiệu bạc151 Huy hiệu đồng12 gold badges90 silver badges151 bronze badges

Khi được hỏi ngày 17 tháng 5 năm 2013 lúc 21:34May 17, 2013 at 21:34

8

Giống như bạn nói, bạn sẽ muốn thoát khỏi các ký tự báo giá.

Xem tài liệu này về chuỗi chữ:

Có một số cách để bao gồm các ký tự trích dẫn trong một chuỗi:

Một '' bên trong một chuỗi được trích dẫn với '' 'có thể được viết là' '' '.

Một "" bên trong một chuỗi được trích dẫn với "" có thể được viết là "" ".

Trước ký tự trích dẫn bởi một ký tự thoát [\ \]].

Một '' bên trong một chuỗi được trích dẫn với "" không cần điều trị đặc biệt và không cần phải nhân đôi hoặc thoát khỏi. Theo cách tương tự, "" bên trong một chuỗi được trích dẫn với "'không cần điều trị đặc biệt.

Tuy nhiên, tùy thuộc vào cách bạn đối phó với SQL, bạn có thể cần phải làm nhiều hơn thế. Nếu ứng dụng đang thoát khỏi ký tự báo giá và chuyển điều đó cho một cuộc gọi thủ tục được lưu trữ, bạn có thể gặp phải vấn đề tương tự nếu bạn không sử dụng liên kết tham số với các câu lệnh đã chuẩn bị. Điều này là do MySQL loại bỏ ký tự thoát khi xử lý các đầu vào của SP. Sau đó, nhân vật không bị cản trở đi đến việc xây dựng truy vấn và vấn đề tự lặp lại nếu nó nên được thoát ra ở đó. Trong trường hợp này, bạn sẽ muốn chuyển sang liên kết tham số, để việc xây dựng thoát và truy vấn nằm ngoài tay bạn.

Đã trả lời ngày 17 tháng 5 năm 2013 lúc 21:44May 17, 2013 at 21:44

1

Ở đây chúng tôi đi:

UPDATE Client SET Last_Name = REPLACE[Last_Name, '\'', ''];

Bạn chỉ cần thoát khỏi dấu nháy đơn sẽ trở lại.

Đã trả lời ngày 17 tháng 5 năm 2013 lúc 21:41May 17, 2013 at 21:41

SumoanandsumoanandSumoanand

8.6651 Huy hiệu vàng47 Huy hiệu bạc46 Huy hiệu đồng1 gold badge47 silver badges46 bronze badges

0

Chỉ cần thêm một ký tự thoát [____ 4] trước trích dẫn:

Đặt last_name = thay thế ['\' ',' ']

Tuy nhiên, tôi không nghĩ rằng đây là cách đúng đắn vì bạn sẽ mất thông tin cho tên ban đầu của người đó và vì vậy o'reilyoreily dường như sẽ giống họ với bạn.

Đã trả lời ngày 17 tháng 5 năm 2013 lúc 21:37May 17, 2013 at 21:37

Ivaylo strandjevivaylo strandjevIvaylo Strandjev

67.5K17 Huy hiệu vàng119 Huy hiệu bạc171 Huy hiệu đồng17 gold badges119 silver badges171 bronze badges

1

Từ 9.1.1 Chuỗi theo nghĩa đen

Bảng 9.1. Trình tự thoát khỏi nhân vật đặc biệt

Escape Sequence Character Represented by Sequence
\0  An ASCII NUL [0x00] character.
\'  A single quote [“'”] character.
\"  A double quote [“"”] character.
\b  A backspace character.
\n  A newline [linefeed] character.
\r  A carriage return character.
\t  A tab character.
\Z  ASCII 26 [Control+Z]. See note following the table.
\\  A backslash [“\”] character.
\%  A “%” character. See note following the table.
\_  A “_” character. See note following the table.

Tất nhiên nếu ANSI_Mode không được bật, bạn có thể sử dụng dấu ngoặc kép

Đã trả lời ngày 17 tháng 5 năm 2013 lúc 21:37May 17, 2013 at 21:37

Ivaylo strandjevivaylo strandjevConrad Frix

51.1K12 Huy hiệu vàng90 Huy hiệu bạc151 Huy hiệu đồng12 gold badges90 silver badges151 bronze badges

1

Khi được hỏi ngày 17 tháng 5 năm 2013 lúc 21:34

SELECT PhraseId FROM Phrase WHERE Text =  REPLACE["don't", "\'", "''"]

Giống như bạn nói, bạn sẽ muốn thoát khỏi các ký tự báo giá.Feb 3, 2014 at 8:20

Xem tài liệu này về chuỗi chữ:Thiru

Có một số cách để bao gồm các ký tự trích dẫn trong một chuỗi:13 silver badges21 bronze badges

0

Làm cách nào để xóa một trích dẫn từ truy vấn MySQL?

Bạn có thể dễ dàng thoát khỏi các trích dẫn đơn, trích dẫn kép, apostrophe, backticks và các ký tự đặc biệt khác bằng cách thêm dấu gạch chéo ngược [\] trước ký tự đó.adding a backslash [\] before that character.

Làm thế nào để bạn thay đổi trích dẫn đơn thành trích dẫn gấp đôi trong SQL?

Backspace trên các trích dẫn kép và sau đó nhập một trích dẫn duy nhất..

Làm cách nào để bỏ qua một trích dẫn duy nhất trong SQL?

Phương pháp đơn giản nhất để thoát khỏi các trích dẫn đơn trong SQL là sử dụng hai trích dẫn đơn.Ví dụ: nếu bạn muốn hiển thị giá trị O'Reilly, bạn sẽ sử dụng hai trích dẫn ở giữa thay vì một.Trích dẫn duy nhất là ký tự thoát trong Oracle, SQL Server, MySQL và PostgreSQL.use two single quotes. For example, if you wanted to show the value O'Reilly, you would use two quotes in the middle instead of one. The single quote is the escape character in Oracle, SQL Server, MySQL, and PostgreSQL.

Làm cách nào để thoát khỏi một trích dẫn trong mysql?

MySQL nhận ra các chuỗi thoát được hiển thị trong Bảng 9.1, Trình tự thoát ký tự đặc biệt.... Bảng 9.1 Trình tự thoát ký tự đặc biệt ..

Bài Viết Liên Quan

Chủ Đề