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

Kiểm tra toàn bộ bảng để tìm một giá trị duy nhất

Bạn có thể sử dụng một tính năng đặc biệt của hệ thống kiểu PostgreSQL:

SELECT *
FROM   tbl t
WHERE  t::text LIKE '%999999%';

Có một loại kết hợp cùng tên cho mọi bảng mà bạn tạo trong PostgreSQL. Và có một text đại diện cho mọi loại trong PostgreSQL (đến giá trị đầu vào / đầu ra).

Do đó, bạn chỉ có thể truyền toàn bộ hàng thành text và nếu chuỗi '999999' được chứa trong bất kỳ cột nào (text của nó đại diện, chính xác) nó được đảm bảo hiển thị trong truy vấn ở trên.

Bạn không thể loại trừ dương tính giả hoàn toàn, tuy nhiên, nếu các dấu phân tách và / hoặc dấu trang trí được Postgres sử dụng để biểu diễn hàng có thể là một phần của cụm từ tìm kiếm. Nó chỉ rất không chắc. Và tích cực không phải là trường hợp cho cụm từ tìm kiếm của bạn '999999'.

Gần đây có một câu hỏi tương tự trên codereview.SE. Tôi đã thêm một số giải thích khác trong câu trả lời của tôi ở đó .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trích xuất năm từ một ngày trong PostgreSQL

  2. Cách định dạng số dưới dạng tiền tệ trong PostgreSQL

  3. PostgreSQL:có thể cung cấp tên tùy chỉnh cho CHÍNH hoặc DUY NHẤT không?

  4. Cột động trong postgres câu lệnh SELECT

  5. Làm cách nào để bạn nối hai bảng trên một trường khóa ngoài bằng cách sử dụng django ORM?