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

Truy vấn đối sánh chính xác của một chuỗi trong SQL

Nếu tôi hiểu câu hỏi một cách chính xác, bạn muốn ghép "diamond" khi đó là một từ riêng biệt chứ không phải là một phần của từ khác như "diamondville". Bạn có thể làm điều gì đó như mô tả SELECT * FROM tproduct WHERE như '% diamond%' và điều này sẽ khớp với tất cả các bản ghi có "kim cương" được bao quanh bởi dấu cách.

Nhưng điều đó sẽ không hiệu quả. Điều đó sẽ không tìm thấy các bản ghi trong đó mô tả bắt đầu bằng "Kim cương" hoặc có dấu phẩy hoặc dấu chấm sau "Kim cương"

Bạn cần đối sánh trên một biểu thức chính quy. Bạn có thể chỉ định ranh giới từ với điều đó:

select * from t2 where description regexp '[[:<:]]diamond[[:>:]]';

Xem trang này để biết thêm thông tin về biểu thức chính quy MySQL: http:// dev.mysql.com/doc/refman/5.1/en/regexp.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bạn có thể thực hiện vòng lặp Cho mỗi hàng bằng MySQL không?

  2. mysql di chuyển hàng giữa các bảng

  3. xóa * khỏi bảng không hoạt động

  4. ssh đầu tiên với mysqldb trong python

  5. Truy vấn MySQL để tìm bạn và số lượng bạn chung