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:
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:
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
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:
Đâ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 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:
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:
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)
- Từ thanh điều hướng ở bên trái-Nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình 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.
Nó sẽ trả về kết quả sau:
Để 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.
Nó sẽ trả về kết quả 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)
- Từ thanh điều hướng ở bên trái-Nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình 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.
Nó sẽ trả về kết quả sau:
Bước 5) Để chạy ví dụ thứ hai:
- Nhập truy vấn sau vào trình soạn thảo truy vấn:
SELECT * FROM Book WHERE name LIKE '%Beginner_';
- Nhấp vào nút Thực hiện.
Nó sẽ trả về kết quả sau:
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)
- Từ thanh điều hướng ở bên trái-Nhấp vào Cơ sở dữ liệu.
- Nhấp vào Bản trình diễn.
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.
Nó sẽ trả về kết quả sau:
Để 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.
Nó sẽ trả về kết quả sau:
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.