Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để tìm kiếm dấu gạch chéo (\) trong MySQL? và tại sao không cần thoát (\) cho where (=) nhưng lại bắt buộc phải Like?

\ hoạt động như một ký tự thoát trong LIKE theo mặc định.

Từ hướng dẫn sử dụng cho LIKE :

Vì MySQL sử dụng cú pháp C thoát trong chuỗi (ví dụ:“\ n” để đại diện cho một ký tự dòng mới), bạn phải nhân đôi bất kỳ “\” nào mà bạn sử dụng trong chuỗi LIKE. Ví dụ:để tìm kiếm “\ n”, hãy chỉ định nó là “\\ n”. Để tìm kiếm “\”, hãy chỉ định nó là “\\\\”; điều này là do các dấu gạch chéo ngược bị loại bỏ một lần bởi trình phân tích cú pháp một lần nữa khi khớp mẫu được thực hiện , để lại một dấu gạch chéo ngược duy nhất được so khớp với.

Bạn có thể thay đổi điều này bằng cách chỉ định một ký tự thoát khác, như trong:

SELECT * FROM `titles` WHERE title LIKE 'test\\' ESCAPE '|'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDOException SQLSTATE [HY000] [2002] Không có tệp hoặc thư mục nào như vậy

  2. Cách cập nhật chế độ xem trong MySQL

  3. CHẾ ĐỘ XEM DROP của MySQL

  4. Khắc phục “ERROR 1054 (42S22):Cột không xác định‘… ’trong‘ mệnh đề thứ tự ”khi sử dụng UNION trong MySQL

  5. Cảnh báo:mysql_result () mong đợi tham số 1 là tài nguyên, boolean đã cho