![](/img/trans.png)
[英]ORACLE PL/SQL - Retrieval Issue while using SYSDATE to retrieve a data for a Specific Date
[英]Oracle SQL - Using SysDate to create a specific date
我需要自动执行一个报表,该报表将始终根据当前月份和年份的第一天(在WHERE中)进行计算。
“ YYYY-MM-01”
我正在尝试实现以下目标,但可悲的是,使用To_Char / To_Date / SysDate我什么都无法工作。
to_date(SYSDATE('YYYY-MM') + '-01', 'yyyy-mm-dd')
谢谢
要获取当前月份的第一天(作为DATE
),只需:
trunc(sysdate,'MON')
或格式化:
to_char(trunc(sysdate,'MON'),'yyyy-mm-dd')
Oracle中的字符串连接运算符为||
,而不是+
。 SYSDATE
是一个常量而不是一个函数:
to_date(to_char(SYSDATE, 'YYYY-MM') || '-01', 'yyyy-mm-dd')
顺便说一句,您还可以按以下方式进行此计算:
trunc(sysdate - extract(day from sysdate) + 1)
也就是说,减去月份中的某天并加一。 这样,您就不必弄乱日期/字符格式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.