从Postgresql中的日期中减去数字
Subtracting numeric from date in Postgresql
当我执行这些脚本时,它在 postgresql 中有效;
select '2021-09-01'::Date - 1
select current_date -1
但是当我在函数中使用这种类型的减法时,postgresql 给我这样的错误;
声明部分的函数用法:
v_date date := p_date - p_number;
ERROR: operator does not exist: date - numeric
尝试:
v_date date := p_date - p_number::int;
.
根据 Date/Time Operators,您只能从日期中减去整数、间隔或日期。
注意:::int
转换会四舍五入数字。
更新
另一种选择是从一开始就让 p_number
成为整数,但这取决于它是否被用于其他需要数字的目的。
当我执行这些脚本时,它在 postgresql 中有效;
select '2021-09-01'::Date - 1
select current_date -1
但是当我在函数中使用这种类型的减法时,postgresql 给我这样的错误;
声明部分的函数用法:
v_date date := p_date - p_number;
ERROR: operator does not exist: date - numeric
尝试:
v_date date := p_date - p_number::int;
.
根据 Date/Time Operators,您只能从日期中减去整数、间隔或日期。
注意:::int
转换会四舍五入数字。
更新
另一种选择是从一开始就让 p_number
成为整数,但这取决于它是否被用于其他需要数字的目的。