PostgreSQL THÍCH, Không thích, Ký tự đại diện (%, _ )


PostgreSQL Toán tử LIKE giúp chúng ta so khớp các giá trị văn bản với các mẫu bằng cách 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 khớp xảy ra, toán tử THÍCH trả về true. Với sự trợ giúp của toán tử THÍCH, 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.

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ị số 0, một hoặc nhiều ký tự hoặc số.

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

cú pháp

Đây là cú pháp của toán tử THÍCH:

expression LIKE pattern [ ESCAPE 'escape-character' ]

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

Mẫu này là một biểu thức ký tự có khớp mẫu.

Ký tự thoát là một tham số tùy chọn. Nó cho phép kiểm tra các phiên bản 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 số không, một hoặc nhiều ký tự hoặc số. Hãy xem xét bảng sau:

Sách:

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

Chúng ta 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 *
FROM
   Book
WHERE
   name LIKE 'Lear%';

Kết quả trả về sẽ như sau:

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

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

Chúng ta hãy tìm kiếm một cuốn sách có tên “by” trong tên của nó:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

Kết quả trả về sẽ như sau:

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

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

Như chúng tôi đã nêu 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 *
FROM
   Book
WHERE
   name LIKE '_earn%';

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

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

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

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

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

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

Sử dụng KHÔNG 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 đều đượ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 *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

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

Sử dụng KHÔNG Operator

Chỉ có một cuốn sách đáp ứng điều kiện tìm kiếm. Chúng ta hãy xem danh sách tên sách không có từ “Made”:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

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

Sử dụng KHÔNG Operator

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

Sử dụng pgAdmin

Bây giờ hãy xem cách thực hiện các hành động bằ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 Bản trình diễn.

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

Bước 3) Nhập truy vấn vào trình soạn thảo truy vấn:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

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

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

Nó sẽ trả về kết quả sau:

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

Để tìm kiếm một cuốn sách có “by” trong tên của nó:

Bước 1) Nhập lệnh sau vào trình soạn thảo truy vấn:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

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

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

Nó sẽ trả về kết quả sau:

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

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 Bản trình diễn.

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

Bước 3) Nhập truy vấn vào trình soạn thảo truy vấn:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

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

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

Nó sẽ trả về kết quả sau:

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

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

  1. Nhập truy vấn sau vào trình soạn thảo truy vấn:
    SELECT *
    FROM
       Book
    WHERE
       name LIKE '%Beginner_';
    
  2. Nhấp vào nút Thực hiện.

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

Nó sẽ trả về kết quả sau:

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

Sử dụng KHÔNG 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 Bản trình diễn.

Sử dụng KHÔNG Operator trong pgAdmin

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

SELECT *
FROM
   Book
WHERE
  name NOT LIKE 'Post%';

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

Sử dụng KHÔNG Operator trong pgAdmin

Nó sẽ trả về kết quả sau:

Sử dụng KHÔNG Operator trong pgAdmin

Sử dụng KHÔNG Operator trong pgAdmin

Để xem danh sách sách có tên không có chữ “Made”:

Bước 1) Nhập truy vấn sau vào trình soạn thảo truy vấn:

SELECT *
FROM
   Book
WHERE
  name NOT LIKE '%Made%';

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

Sử dụng KHÔNG Operator trong pgAdmin

Nó sẽ trả về kết quả sau:

Sử dụng KHÔNG Operator trong pgAdmin

Tổng kết

  • PostgreSQL THÍCH được sử dụng để khớp các giá trị văn bản với các mẫu bằng ký tự đại diện.
  • Mệnh đề THÍCH cho phép chúng ta sử dụng các ký tự đại diện trong CHỌNcác câu lệnh , 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 với một giá trị. Giá trị có thể là một ký tự hoặc một số.
  • Toán tử THÍCH 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

Tìm hiểu thêm về PNV Xem tiếp