Khi làm việc với MariaDB, đôi khi bạn có thể thấy mình cần trả lại tất cả các hàng có chứa ít nhất một chữ số.
Trong những trường hợp như vậy, bạn có thể thấy ví dụ sau hữu ích.
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 | | Bottomless Coffee Cup | | Smash 2000 Sledgehammer | | Chainsaw (includes 3 spare fingers) | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
Cột này rõ ràng 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 REGEXP '[0-9]+';
Kết quả:
+-------------------------------------+ | ProductName | +-------------------------------------+ | Smash 2000 Sledgehammer | | Chainsaw (includes 3 spare fingers) | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
Như mong đợi, chỉ những hàng có chứa số mới được trả về.
Trong trường hợp này, chúng tôi đã sử dụng REGEXP
chức năng để tìm tất cả các hàng phù hợp với một mẫu. Mẫu bao gồm tất cả các chữ số từ 0
thành 9
, cộng với bất kỳ ký tự nào khác.