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

Tại sao nó hoạt động khác với ~~ any ()?

Vấn đề là kết quả của truy vấn con của bạn được hiểu là một chuỗi, không phải một mảng. Điều này là do hai dạng này khác nhau về ngữ nghĩa:

~~ ANY ('...')  -- will be interpreted as an array literal

~~ ANY (SELECT ...)  -- will compare with all query results in turn

Vì vậy, bạn có thể chỉ cần viết:

WHERE lower(name) ~~ ANY
      (SELECT DISTINCT '%' || lower(brand) || '%'
       FROM my_table
       WHERE source = 'Orig')



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trong PostgreSQL, làm thế nào chúng ta có thể biết liệu mỗi chỉ mục của một bảng có được phân nhóm hay không?

  2. Bỏ qua hoàn toàn múi giờ trong Rails và PostgreSQL

  3. Cách Width_Bucket () hoạt động trong PostgreSQL

  4. Quản lý kết nối trong PostgreSQL:Hướng dẫn

  5. docker-compo rails rake db:thiết lập lại không thành công, không thể thả cơ sở dữ liệu hiện đang mở