PostgreSQL LIKE, Not Like, Wildcards (%, _) Ví dụ

Mục lục:

Anonim

Toán tử LIKE của PostgreSQL giúp chúng ta so khớp các giá trị văn bản với các mẫu sử dụng ký tự đại diện. Có thể so khớp biểu thức tìm kiếm với biểu thức mẫu.

Nếu một trận đấu xảy ra, toán tử LIKE trả về true. Với sự trợ giúp của toán tử LIKE, có thể sử dụng các ký tự đại diện trong mệnh đề WHERE của các câu lệnh SELECT, UPDATE, INSERT hoặc DELETE.

Trong Hướng dẫn PostgreSQL này, bạn sẽ tìm hiểu những điều sau:

  • Thẻ hoang dã
  • Cú pháp
  • Sử dụng ký tự đại diện%
  • Sử dụng ký tự đại diện _
  • Sử dụng NOT Operator
  • Sử dụng pgAdmin

Thẻ hoang dã

Chỉ có hai ký tự đại diện có thể được sử dụng cùng với

  • Ký hiệu phần trăm (%)
  • Dấu gạch dưới (_)

Dấu phần trăm (%) được sử dụng để biểu thị không, một hoặc nhiều ký tự hoặc số.

Ký tự đại diện gạch dưới (_) được sử dụng để đại diện cho một ký tự hoặc số. Các ký hiệu này cũng có thể được kết hợp với nhau. Nếu toán tử LIKE không được sử dụng cùng với hai dấu hiệu này, nó sẽ hoạt động giống như toán tử bằng.

Cú pháp

Đây là cú pháp cho toán tử LIKE:

expression LIKE pattern [ ESCAPE 'escape-character' ]

Biểu thức là một biểu thức ký tự giống như một cột hoặc một trường.

Mẫu là một biểu thức ký tự với đối sánh mẫu.

Ký tự thoát là một tham số tùy chọn. Nó cho phép kiểm tra các trường hợp theo nghĩa đen của các ký tự đại diện như% và _. Nếu nó không được cung cấp, \ sẽ được sử dụng làm ký tự thoát.

Sử dụng ký tự đại diện%

Như chúng tôi đã nêu trước đó, dấu% khớp với 0, một hoặc nhiều ký tự hoặc số. Hãy xem xét bảng sau:

Sách:

Chúng tôi muốn cuốn sách có tên giống như "Lear

… "Để có được kết quả đó, chúng ta có thể chạy lệnh sau:
SELECT *FROMBookWHEREname LIKE 'Lear%';

Điều này sẽ trả về như sau:

Cuốn sách đã được tìm thấy.

Hãy để chúng tôi tìm kiếm một cuốn sách "bởi" trong tên của nó:

SELECT *FROMBookWHEREname LIKE '%by%';

Điều này sẽ trả về như sau:

Sử dụng ký tự đại diện _

Như chúng tôi đã nói trước đó, dấu _ đại diện cho một ký tự hoặc số. Nó có thể được sử dụng như hình dưới đây:

SELECT *FROMBookWHEREname LIKE '_earn%';

Điều này trả về như sau:

Đây là một ví dụ khác:

SELECT *FROMBookWHEREname LIKE '%Beginner_';

Điều này trả về như sau:

Sử dụng NOT Operator

Khi toán tử LIKE được kết hợp với toán tử NOT, bất kỳ hàng nào không khớp với mẫu tìm kiếm sẽ được trả về. Ví dụ: để xem một cuốn sách có tên không bắt đầu bằng "post", chúng ta có thể chạy lệnh sau:

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

Điều này trả về như sau:

Chỉ có một cuốn sách đáp ứng điều kiện tìm kiếm. Hãy cùng chúng tôi xem danh sách những cuốn sách không có từ "Made":

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Điều này trả về như sau:

3 hàng đáp ứng điều kiện tìm kiếm.

Sử dụng pgAdmin

Bây giờ chúng ta hãy xem các hành động có thể được thực hiện như thế nào bằng cách sử dụng pgAdmin.

Sử dụng ký tự đại diện%

Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.

Bước 2)

  1. Từ thanh điều hướng bên trái - Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Demo.

Bước 3) Nhập truy vấn vào trình chỉnh sửa truy vấn:

SELECT *FROMBookWHEREname LIKE 'Lear%';

Bước 4) Nhấp vào nút Thực thi.

Nó sẽ trả về như sau:

Để tìm kiếm một cuốn sách "bởi" trong tên của nó:

Bước 1) Nhập lệnh sau vào trình chỉnh sửa truy vấn:

SELECT *FROMBookWHEREname LIKE '%by%';

Bước 2) Nhấp vào nút Thực thi.

Nó sẽ trả về như sau:

Sử dụng ký tự đại diện _

Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.

Bước 2)

  1. Từ thanh điều hướng bên trái - Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Demo.

Bước 3) Nhập truy vấn vào trình chỉnh sửa truy vấn:

SELECT *FROMBookWHEREname LIKE '_earn%';

Bước 4) Nhấp vào nút Thực thi.

Nó sẽ trả về như sau:

Bước 5) Để chạy ví dụ thứ hai:

  1. Nhập truy vấn sau vào trình chỉnh sửa truy vấn:
    SELECT *FROMBookWHEREname LIKE '%Beginner_';
  2. Nhấp vào nút Thực thi.

Nó sẽ trả về như sau:

Sử dụng NOT Operator

Bước 1) Đăng nhập vào tài khoản pgAdmin của bạn.

Bước 2)

  1. Từ thanh điều hướng bên trái - Nhấp vào Cơ sở dữ liệu.
  2. Nhấp vào Demo.

Bước 3) Để xem tất cả các sách có tên không bắt đầu bằng "Đăng", hãy nhập truy vấn vào trình chỉnh sửa truy vấn:

SELECT *FROMBookWHEREname NOT LIKE 'Post%';

Bước 4) Nhấp vào nút Thực thi.

Nó sẽ trả về như sau:

Để xem danh sách những cuốn sách có tên không có từ "Made":

Bước 1) Nhập truy vấn sau vào trình chỉnh sửa truy vấn:

SELECT *FROMBookWHEREname NOT LIKE '%Made%';

Bước 2) Nhấp vào nút Thực thi.

Nó sẽ trả về như sau:

Tóm lược:

  • PostgreSQL LIKE được sử dụng để so khớp các giá trị văn bản với các mẫu sử dụng ký tự đại diện.
  • Mệnh đề LIKE cho phép chúng ta sử dụng các ký tự đại diện trong các câu lệnh SELECT, UPDATE, INSERT hoặc DELETE.
  • Ký tự đại diện% khớp với một hoặc nhiều giá trị. Các giá trị có thể là số hoặc ký tự.
  • Ký tự đại diện _ khớp chính xác một giá trị. Giá trị có thể là một ký tự hoặc một số.
  • Toán tử LIKE có thể được kết hợp với toán tử NOT để trả về bất kỳ hàng nào không khớp với mẫu tìm kiếm.

Tải xuống Cơ sở dữ liệu được sử dụng trong Hướng dẫn này