PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как цитирате низове в Postgres

Както бе споменато в коментарите, повечето бази данни използват единични кавички за низови литерали и двойни кавички за идентификатори. MySQL е доста хлабав и също ще приеме двойни кавички за низови литерали, но PostgreSQL е (за щастие) доста строг. Така че искате да използвате единични кавички:

SnCl.all(:conditions => "col3 = 'xx'")

или използвайки where :

SnCl.where("col3 = 'xx'")

или с разумно използване на средствата за цитиране на драйвера на базата данни:

SnCl.where("col3 = #{SnCol.connection.quote('xx')}")

И запазване на най-доброто за накрая, както го правят разумните хора, използвайки заместител или хеш аргументи за where :

SnCl.where('col3 = ?', 'xx')
SnCl.where('col3 = :col3', :col3 => 'xx')
SnCl.where(:col3 => 'xx')

Последният би бил най-идиоматичният за Rails, а двата по-горе биха били полезни за по-сложни условия, при които верижното свързване е или твърде тромаво, или не работи (като например когато имате нужда от OR във вашата клауза WHERE).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на Barman за архивиране на PostgreSQL - Общ преглед

  2. Какъв е редът на записите в таблица със съставен първичен ключ

  3. Oracle към PostgreSQL:ЗАПОЧНЕТЕ С/СВЪРЖЕТЕ ОТ

  4. Python 3.7 psycopg2 - Грешка при Xcode грешка:командата „gcc“ е неуспешна със статус на изход 1

  5. Вмъкнете множество ENUM стойности в PostgreSQL