2015-03-03 2 views
0

Каков правильный способ сделать это в Postgres?Каков правильный способ сделать IN (диапазон дат) в Postgres?

delete from days where date IN ("2014-02-15", "2014-02-07", 
           "2014-02-08", "2014-02-09", "2014-03-01"); 


ERROR -- : PG::UndefinedColumn: ERROR: column "2014-02-15" does not exist 

отлично работает в MySQL и sqlite3

+0

Что тип данных 'date'? – Bohemian

+0

Тип и название столбца: 'date' – Tilo

+1

http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS –

ответ

3

Ваше IN заявление должно быть правильным, но не использовать " для строк, как вы делаете, и PostgreSQL жалуется. " используется для таблиц, столбцов и других объектов, тогда как строки цитируются '.

Однако, вы также можете использовать пункт between ...

WHERE date between <first_date> and <last_date> 
+0

sweet ! Спасибо! никогда не сталкивался с этим в MySQL – Tilo

+1

Здесь MySQL не заботится о стандарте SQL, который отсасывает и попадает во многие из этих ошибок. – frlan

+0

не может использовать простое сравнение даты с 'where' .. к сожалению, мне нужны конкретные даты, выбранные вручную – Tilo

Смежные вопросы