我有一个在表中插入小时和天的函数,但是我不希望在星期六和星期日插入它;为此,我找到了提取代码(来自时间戳映射'YYYY-MM-DD hh24:mi:ss'的isodown),但是问题是,当将值赋给变量以使条件成为条件时,它不会读取它,并抛出了我错误。
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中,但仍然无法识别。
答案 0 :(得分:0)
您只需分配表达式的结果:
var_fds := cast(extract(ISODOW from desde) as int);
由于desde
已经是timestapm
,因此无需强制转换为其他内容。
表达式中的timestamp
前缀仅对于常量值使其成为键入值是必需的。