Getting/extract 完整日期(日期时间)的月份和年份
Getting/extract month and year from full date (datetime)
我有日期数据类型的列我正在尝试提取月份和年份
从完整日期计算当年一个月内的总销售额
但我得到了错误,期待 , ;当从我测试下面的查询中找到时
在蟾蜍中,它工作正常,无论如何,查询不会给我我想要的东西,蟾蜍的结果只有一个月,我需要根据月份和年份进行计算
我尝试了 trunc 但结果将是 DD-MM-YYYY
To_char
在数据库列上工作,但在表单生成器
上与 text_item 一起工作
那么如何让该查询起作用,是否有提取月份和年份的方法?
SELECT NVL(SUM(TOTAL_PRICE),0)
INTO :DUMMY.M_TOTAL_ORDERS
FROM ORDERS
WHERE EXTRACT(MONTH FROM ORDER_DATE)= EXTRACT(MONTH FROM SYSDATE);
你说你遇到了一个错误,但你没有告诉我们是什么错误。您告诉我们查询 "works fine" 但它并不完全符合您的要求。带有示例数据和预期结果的测试用例会很有帮助。
我猜你想要
SELECT NVL( SUM(total_price), 0)
FROM orders
WHERE trunc( order_date, 'MM' ) = trunc( sysdate, 'MM' )
我希望 return 我认为您想要的结果。但是它不能在 order_date
上使用常规索引(您可以在 trunc(order_date, 'MM')
上创建一个可以使用的基于函数的索引)。
SELECT NVL( SUM(total_price), 0)
FROM orders
WHERE order_date BETWEEN trunc( sysdate, 'MM' ) AND sysdate
也可以工作(假设 order_date
总是小于 sysdate
)并且允许您在 order_date
上使用索引(如果存在的话)。
如果这不是您想要的,发布可重现的测试用例将非常有帮助。
我有日期数据类型的列我正在尝试提取月份和年份 从完整日期计算当年一个月内的总销售额 但我得到了错误,期待 , ;当从我测试下面的查询中找到时 在蟾蜍中,它工作正常,无论如何,查询不会给我我想要的东西,蟾蜍的结果只有一个月,我需要根据月份和年份进行计算
我尝试了 trunc 但结果将是 DD-MM-YYYY
To_char
在数据库列上工作,但在表单生成器
那么如何让该查询起作用,是否有提取月份和年份的方法?
SELECT NVL(SUM(TOTAL_PRICE),0)
INTO :DUMMY.M_TOTAL_ORDERS
FROM ORDERS
WHERE EXTRACT(MONTH FROM ORDER_DATE)= EXTRACT(MONTH FROM SYSDATE);
你说你遇到了一个错误,但你没有告诉我们是什么错误。您告诉我们查询 "works fine" 但它并不完全符合您的要求。带有示例数据和预期结果的测试用例会很有帮助。
我猜你想要
SELECT NVL( SUM(total_price), 0)
FROM orders
WHERE trunc( order_date, 'MM' ) = trunc( sysdate, 'MM' )
我希望 return 我认为您想要的结果。但是它不能在 order_date
上使用常规索引(您可以在 trunc(order_date, 'MM')
上创建一个可以使用的基于函数的索引)。
SELECT NVL( SUM(total_price), 0)
FROM orders
WHERE order_date BETWEEN trunc( sysdate, 'MM' ) AND sysdate
也可以工作(假设 order_date
总是小于 sysdate
)并且允许您在 order_date
上使用索引(如果存在的话)。
如果这不是您想要的,发布可重现的测试用例将非常有帮助。