sql >> Database >  >> RDS >> PostgreSQL

Probleem bij het ophalen van records met een lege array

In Rails 4 kun je User.where.not(id: []) . gebruiken waarmee u het juiste resultaat krijgt. Het produceert:

SELECT "users".* FROM "users" WHERE (1 = 1)

Helaas User.where('id NOT IN (?)', []) zou gelijk moeten zijn, maar is het niet. Het geeft je nog steeds het verkeerde resultaat:

SELECT "users".* FROM "users" WHERE (id NOT IN (NULL))

Referenties:

  • https://github.com/rails/rails/issues/778
  • https://github.com/rails/arel/commit/cbff1bcf
  • https://github.com/rails/rails/pull/8332
  • https://github.com/rails/rails/commit/8d02afeaee8993bd0fde69687fdd9bf30921e805


  1. Hoe een specifieke waarde zoeken in alle tabellen (PostgreSQL)?

  2. Een tabel exporteren van Amazon RDS naar een CSV-bestand

  3. Hoe converteer ik een tijdstempel naar een datum/tijd in MySQL?

  4. Parallelle unnest() en sorteervolgorde in PostgreSQL