Ví dụ sau trả về tất cả các hàng chứa ít nhất một chữ số trong PostgreSQL.
Ví dụ
Giả sử chúng ta có một bảng được gọi là Products
với dữ liệu sau trong ProductName
của nó cột:
SELECT ProductName
FROM Products;
Kết quả:
productname --------------------------------- Left handed screwdriver Right handed screwdriver Long Weight (blue) Long Weight (green) Straw Dog Box Bottomless Coffee Mugs (4 Pack) Smash 2000 Sledge Hammer Chainsaw (3 spare fingers)
Cột này chứa dữ liệu ký tự, nhưng một số hàng chứa số trong dữ liệu ký tự đó (ngay cả khi chúng không được lưu trữ dưới dạng số).
Chúng ta có thể sử dụng truy vấn sau để chỉ trả về những hàng có chứa các số được biểu thị bằng các chữ số:
SELECT ProductName
FROM Products
WHERE ProductName ~ '[0-9]+';
Kết quả:
productname --------------------------------- Bottomless Coffee Mugs (4 Pack) Smash 2000 Sledge Hammer Chainsaw (3 spare fingers)
Như mong đợi, chỉ những hàng có chứa số mới được trả về.
Trong PostgreSQL, ~
là một toán tử phân biệt chữ hoa chữ thường để khớp với biểu thức chính quy đã cho. Đối với các kết quả phù hợp không phân biệt chữ hoa chữ thường, hãy sử dụng ~*
.
Bạn có thể sử dụng !~
để trả về tất cả các hàng không khớp với biểu thức chính quy (và !~*
đối với các kết quả phù hợp không phân biệt chữ hoa chữ thường).