我有一个SQL查询,最初是这个 -
DELETE FROM table_1
WHERE column_1 IN ( SELECT column_1 FROM table_2 WHERE
column_3 < CURRENT - INTERVAL(N) MONTH TO MONTH)
现在我的建议告诉我们使用财务结算年而不是CURRENT,如:
DELETE FROM table_1
WHERE column_1 IN ( SELECT column_1 FROM table_2 WHERE
column_3 < FINANCIAL YEAR CLOSE - INTERVAL(N) MONTH TO MONTH)
财政年度关闭是3月底。
我不知道应该如何纳入这些变化。
答案 0 :(得分:1)
你总是可以使用具有特定掩码的TO_DATE(),例如:
$dbaccess stores7 -
Database selected.
> SELECT (TO_DATE("2018-03-01","%Y-%m-%d") - INTERVAL (1) MONTH TO MONTH) FROM TABLE(SET{1});
(constant)
2018-02-01 00:00:00.00000
1 row(s) retrieved.
>
Database closed.
$
无论你把日期字符串放在哪里都取决于你;)
答案 1 :(得分:0)
由于财务年度关闭可能因公司而异,因此它不是内置功能,必须手动计算。
您需要使用CURRENT并从该日期提取年份部分并从[当前年份] -03-31创建新日期并在查询中使用该日期。
一些谷歌搜索让我觉得这是来自IBM的Informix数据库。