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

Cách sử dụng LIKE trong SQL

Vấn đề:

Bạn muốn tìm một chuỗi con phù hợp với một mẫu trong một chuỗi.

Ví dụ:

Cơ sở dữ liệu của chúng tôi có một bảng có tên khách hàng với dữ liệu trong các cột sau:id , first_name , last_namecity .

id first_name last_name thành phố
1 Alan Watson Madrid
2 Lisa Đen Singapore
3 Laura Williams Seattle
4 Milan Gạch Seoul

Hãy xem một số ví dụ về đối sánh mẫu trong SQL.

Ví dụ 1:

Hãy hiển thị tên, họ và thành phố của từng khách hàng có tên thành phố bắt đầu bằng chữ 'S.'

Giải pháp:

SELECT last_name, first_name, city  
FROM customer
WHERE city LIKE 'S%';
last_name first_name thành phố
Lisa Đen S ingapore
Milan Gạch S eoul
Laura Williams S ăn uống

Chúng tôi đã sử dụng ký tự đại diện%, đại diện cho không hoặc nhiều ký tự không xác định. Có thể sử dụng ký tự đại diện này ở bất kỳ vị trí nào trong chuỗi.

Ví dụ 2:

Hãy hiển thị tên, họ và thành phố của mỗi khách hàng có tên thành phố chứa chính xác năm ký tự.

Giải pháp:

SELECT last_name, first_name, city  
FROM customer
WHERE city LIKE '_____';

Đây là kết quả:

last_name first_name thành phố
Milan Gạch Seoul

Ký tự đại diện gạch dưới có thể được sử dụng để đại diện cho một ký tự không xác định. Do đó, bằng cách sử dụng năm ký tự trong số chúng liên tiếp, chúng ta có thể biểu diễn tất cả các chuỗi dài năm ký tự. Trong ví dụ của chúng tôi, thành phố duy nhất phù hợp với mô tả đó là Seoul.

Ví dụ 3:

Hãy hiển thị tên, họ và thành phố của từng khách hàng có thành phố bắt đầu bằng chữ 'S' và có chữ 'o' là ký tự từ thứ ba đến cuối cùng.

Giải pháp:

SELECT last_name, first_name, city  
FROM customer
WHERE city LIKE 'S%o__';

Đây là kết quả:

last_name first_name thành phố
Lisa Đen S ingap o lại
Milan Gạch S đ o ul

Truy vấn chỉ trả về hai bản ghi:Lisa Black từ S ingap o lại và Milan Brick từ S đ o ul. Các thành phố này phù hợp với mô hình đã cho. Ở đây, chúng tôi đã kết hợp cả hai ký tự đại diện để tạo ra một mẫu cụ thể hơn:tất cả các chuỗi bắt đầu bằng chữ cái viết hoa 'S' và chứa bất kỳ số ký tự nào khác sau đó, miễn là ký tự từ thứ ba đến cuối cùng là chữ thường 'o. '

Thảo luận:

Nếu bạn muốn chọn các bản ghi trong đó một chuỗi khớp với một mẫu cụ thể, bạn có thể sử dụng LIKE mệnh đề làm điều kiện trong WHERE mệnh đề. Sau WHERE , liệt kê tên của cột (ví dụ:city ) theo sau là LIKE mệnh đề chỉ định mẫu chuỗi (ví dụ:'S%o__' ) để tìm kiếm.

Như chúng ta đã thấy trong các ví dụ, bạn có thể sử dụng hai ký tự đặc biệt được gọi là ký tự đại diện đại diện cho các ký tự không xác định:

  • Ký tự đại diện '%' biểu thị không hoặc nhiều ký tự.
  • Ký tự đại diện '_' biểu thị bất kỳ ký tự đơn nào.

Bạn có thể kết hợp các ký tự đại diện này để đạt được một số kết quả thực sự mạnh mẽ. Bạn cũng có thể xâu chuỗi nhiều hơn một LIKE điều kiện. Cuối cùng, bạn có thể sử dụng NOT toán tử để tìm các chuỗi không khớp với mẫu đã cho.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL là gì và làm thế nào để bắt đầu với nó?

  2. SQL Chọn phân biệt

  3. VLDB ở lứa tuổi thanh thiếu niên 20:Bạn sẽ cần nhiều hơn nữa…

  4. Sự khác biệt giữa phép nối bên trong và phép nối bên ngoài trong SQL

  5. SQL GIỮA Toán tử cho người mới bắt đầu