Nếu bạn cần trả lại tất cả các hàng chứa ít nhất một chữ số trong MySQL, thì ví dụ sau có thể 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 | | Long Weight (blue) | | Long Weight (green) | | Smash 2000 Sledge Hammer | | Chainsaw (Includes 5 spare fingers) | | Straw Dog Box | | Bottomless Coffee Mugs (4 Pack) | +-------------------------------------+
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 REGEXP '[0-9]+';
Kết quả:
+-------------------------------------+ | ProductName | +-------------------------------------+ | Smash 2000 Sledge Hammer | | Chainsaw (Includes 5 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
của MySQL 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.