我想生成一个报告的项目价格为所有前几个月和当前月份。但是,每月10号之后,系统才会显示当月的物品价格。因此,在记录可用之前,查询应该采用上个月的价格作为本月的价格。例如,以下是项目价格表:
假设当前日期是5月3日,查询应返回以下内容:
如果查询在5月10日之后运行,并且当前月份的价格是5月的,则它应该返回它找到的内容:
6ljaweal1#
假设您的DATE列是DATE数据类型,设置为每个月第一天的午夜,那么您可以用途:
DATE
SELECT item, "DATE", price FROM table_name UNION ALL SELECT item, TRUNC(SYSDATE, 'MM'), price FROM table_name WHERE "DATE" = ADD_MONTHS(TRUNC(SYSDATE, 'MM'), -1) AND EXTRACT(DAY FROM SYSDATE) < 10;
1条答案
按热度按时间6ljaweal1#
假设您的
DATE
列是DATE
数据类型,设置为每个月第一天的午夜,那么您可以用途:DATE
是一个保留字,你不应该使用它作为列标识符;如果你这样做,那么你将需要在引用它的任何地方使用带引号的标识符。*