Как мне присвоить значение переменной, но «извлечь из timestmap»? - PullRequest
0 голосов
/ 06 июня 2019

У меня есть функция, которая вставляет часы и дни в таблицу, но я не хочу, чтобы она вставлялась в субботу и воскресенье;для которого я нашел код извлечения (isodown из временной карты «ГГГГ-ММ-ДД hh24: mi: ss»), но проблема в том, что при присвоении значения переменной для выполнения моего условия он не читает его, он выбрасывает меняошибка.

desde TIMESTAMP;

desde:=TO_TIMESTAMP('2019-06-09 20:00:00', 'YYYY-MM-DD hh24:mi:ss')::TIMESTAMP;

var_fds:=(select cast(extract(ISODOW from timestamp (desde::varchar)) as int));

CASE WHEN var_fds<6 then
...DO SOMETHING
END;

ERROR:  error de sintaxis en o cerca de «desde»
LINE 27: ...ds:=(select cast(extract(ISODOW  from  timestamp (desde::var...

Я также пытался просто поставить переменную 'desde' без varchar, но все еще неузнайте это.

1 Ответ

0 голосов
/ 06 июня 2019

Вы просто присваиваете результат выражения:

var_fds := cast(extract(ISODOW  from  desde) as int);

Поскольку desde уже является timestapm, нет необходимости приводить к чему-то другому.

Префикс timestamp в выражении требуется только для константных значений, чтобы сделать их типизированным значением.

...