PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Bagaimana Anda mengutip string di Postgres

Seperti disebutkan dalam komentar, sebagian besar database menggunakan tanda kutip tunggal untuk literal string dan tanda kutip ganda untuk pengidentifikasi. MySQL agak longgar dan juga akan menerima tanda kutip ganda untuk literal string tetapi PostgreSQL (untungnya) cukup ketat. Jadi, Anda ingin menggunakan tanda kutip tunggal:

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

atau menggunakan where :

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

atau dengan penggunaan fasilitas kuotasi driver database yang masuk akal:

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

Dan menyimpan yang terbaik untuk yang terakhir, cara orang yang bijaksana melakukannya menggunakan placeholder atau argumen Hash ke where :

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

Yang terakhir akan menjadi yang paling idiomatis untuk Rails dan dua di atas akan berguna untuk kondisi yang lebih kompleks di mana rantai terlalu rumit atau tidak berfungsi (seperti ketika Anda membutuhkan OR di klausa WHERE Anda).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana terhubung dengan Host PostgreSQL dari mesin virtualbox gelandangan

  2. Kesalahan saat menginstal psycopg2==2.6.2

  3. Paralelisme datang ke VAKUM

  4. Memanggil fungsi atau prosedur yang tersimpan tidak akan memasukkan dan mempertahankan perubahan

  5. Bagaimana cara melemparkan array json ke array teks?