PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Phát hiện xem một giá trị có chứa ít nhất một chữ số trong PostgreSQL hay không

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).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL tương đương cho TOP n CÓ TIES:GIỚI HẠN với quan hệ?

  2. Chèn, trên bản cập nhật trùng lặp trong PostgreSQL?

  3. psql:máy chủ đã đóng kết nối một cách bất thường

  4. Cách tốt nhất để tính kết quả trước khi LIMIT được áp dụng

  5. Một số lĩnh vực cải tiến trong PostgreSQL 9.4