Запрос на обновление с текущей датой и настраиваемым временем не работает в Postgresql

#sql #postgresql #sql-update

#sql #postgresql #sql-обновление

Вопрос:

В приведенном ниже запросе, который не работает, отображается ошибка, пожалуйста, дайте мне знать, что я делаю неправильно в этом запросе

 update tratbl set created_date = timestamp CURRENT_DATE   TIME '00:00:00';
update anothertbl set created_date = timestamp CURRENT_DATE   TIME '00:00:00';
update testertbl set created_date = timestamp CURRENT_DATE   TIME '00:00:00';
 

Ошибка

Ошибка SQL [42601]: ОШИБКА: синтаксическая ошибка в или около «CURRENT_DATE»

Заранее спасибо.

Комментарии:

1. Используйте simple = CURRENT_DATE . dbfiddle.uk /…

Ответ №1:

В документации говорится:

Чтобы избежать синтаксической двусмысленности, type 'string' синтаксис можно использовать только для указания типа простой литеральной константы.

Now current_date — это функция, а не строковый литерал.

Менее сложный способ написать то, что вы хотите, это

 CAST(current_date AS timestamp)
 

Вы также можете вообще опустить приведение типа, поскольку date оно автоматически преобразуется в a timestamp при назначении.