繁体   English   中英

Oracle SQL-使用SysDate创建特定日期

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM