Các ví dụ sau chỉ trả về những hàng không chứa bất kỳ chữ số nào trong một cột nhất định trong Cơ sở dữ liệu Oracle.
Dữ liệu mẫu
Giả sử chúng ta có một bảng với dữ liệu sau:
SELECT ProductName
FROM Products;
Kết quả:
Tua vít cầm tay trái Tuốc nơ vít cầm tay phải Tách cà phê không đáy (4 gói) Urban Dictionary Phiên bản 2.3Bảng ProductName sử dụng
varchar2
kiểu dữ liệu, và vì vậy nó chứa dữ liệu ký tự. Nhưng nó cũng có thể chứa các chữ số.Ví dụ 1 - Regex
Đây là một truy vấn mà chúng tôi có thể sử dụng để trả về tất cả các hàng không chứa chữ số:
SELECT ProductName FROM Products WHERE NOT REGEXP_LIKE(ProductName, '[0-9]+');
Kết quả:
Tua vít cầm tay trái Tuốc nơ vít cầm tay phảiBeer WaterVí dụ 2 - POSIX
Trong Cơ sở dữ liệu Oracle,
REGEXP_LIKE
điều kiện tuân thủ tiêu chuẩn biểu thức chính quy POSIX. Do đó, chúng ta có thể nhận được cùng một kết quả với truy vấn sau:SELECT ProductName FROM Products WHERE NOT REGEXP_LIKE(ProductName, '[[:digit:]]');
Kết quả:
Tua vít cầm tay trái Tuốc nơ vít cầm tay phảiBeer Water