如何为 'extract from timestmap' 的变量赋值?

how do I assign a value to a variable but of 'extract from timestmap'?

我有一个函数可以在 table 中插入小时和天,但是我不想在周六和周日插入它;为此,我找到了提取代码(来自 timestmap '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 但还是不能识别。

您只需分配表达式的结果:

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

因为 desde 已经是 timestapm,所以没有必要转换成不同的东西。

仅常量值需要表达式中的 timestamp 前缀才能使它们成为类型值。