sql >> Database >  >> RDS >> PostgreSQL

Hoe citeer je strings in Postgres

Zoals vermeld in de opmerkingen, gebruiken de meeste databases enkele aanhalingstekens voor letterlijke tekenreeksen en dubbele aanhalingstekens voor identifiers. MySQL is nogal laks en accepteert ook dubbele aanhalingstekens voor letterlijke tekenreeksen, maar PostgreSQL is (gelukkig) behoorlijk streng. Dus u wilt enkele aanhalingstekens gebruiken:

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

of gebruik where :

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

of met verstandig gebruik van de quote-faciliteiten van het databasestuurprogramma:

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

En het beste voor het laatst bewaren, zoals verstandige mensen dat doen met een tijdelijke aanduiding of hash-argumenten om where :

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

De laatste zou het meest idiomatisch zijn voor Rails en de twee hierboven zouden handig zijn voor complexere omstandigheden waarin chaining te omslachtig is of niet werkt (zoals wanneer u een OR in uw WHERE-clausule nodig heeft).



  1. Hoe kan ik een tabel herhalen met de gecombineerde resultaten van twee vergelijkbare query's uit twee verschillende databases?

  2. RSS-feed PHP/MySQL

  3. haal alleen waarden uit de tabel voor een specifieke dag in mysql

  4. selecteer COUNT met drie tabellen - mysql