Я получаю сообщение об ошибке в моем запросе PostgreSQL как
ОШИБКА: неверный синтаксис ввода для отметки времени типа:
Я устанавливаю значение с помощью \set
.
\set dueDateEarliest '2018-04-01'
\set dueDateLatest '2018-08-01'
\set dueDateLatest '2018-08-01'
И пытаюсь использовать это значение в моем запросе, как показано ниже
SELECT DISTINCT(bu.id) as "user_id",c.organization_name as "name",round(i.balance,2) as "amount_due",i.id as "invoice_number",i.due_date as "due_date",CONCAT('collectionMonth', LPAD(cf2.content,2,'0')) as "collection_date" FROM base_user bu,contact c,contact_field cf, invoice i, contact_field cf2 WHERE bu.id = c.user_id AND bu.deleted = 0 AND cf.contact_id = c.id AND cf.type_id = 7 AND cf.content = 'DD' AND i.user_id = bu.id AND i.balance > 0 AND i.is_review != 1 AND i.deleted != 1 AND due_date BETWEEN 'dueDateEarliest' AND 'dueDateLatest' AND cf2.contact_id = c.id AND cf2.type_id = 8 ORDER BY bu.id limit 20;
Это дает ошибку как
ОШИБКА: неверный синтаксис ввода для отметки времени типа:
У меня нет способа исправить это.
И более того, способ установки значения с помощью \set
это нормально?
Или я должен использовать SET
для установки значений.
Потому что в действительности, когда мне нужно будет выполнить эти команды из сценария оболочки, я буду называть / устанавливать как
`set dueDateEarliest '$ dueDateEarliest'` из сценария оболочки.
Какой путь лучше?
Прикрепление снимка экрана также