SQL TO_日期格式错误
我写这份声明是为了得到上个月的第一天SQL TO_日期格式错误,sql,oracle,date,Sql,Oracle,Date,我写这份声明是为了得到上个月的第一天 select '01.' || TO_CHAR(ADD_MONTHS(SYSDATE,-1),'MM.yyyy') from dual 输出:01.02.2016 如果我使用来设置日期格式,我会得到以下错误:不是有效的月份 我当前的不工作解决方案: select TO_DATE('01.' || TO_CHAR(ADD_MONTHS(SYSDATE,-1),'MM.yyyy')) from dual 感谢您的帮助/建议您还需要一个“截止日期”的格式字符串
select '01.' || TO_CHAR(ADD_MONTHS(SYSDATE,-1),'MM.yyyy') from dual
输出:01.02.2016
如果我使用来设置日期
格式,我会得到以下错误:不是有效的月份
我当前的不工作解决方案:
select TO_DATE('01.' || TO_CHAR(ADD_MONTHS(SYSDATE,-1),'MM.yyyy')) from dual
感谢您的帮助/建议您还需要一个“截止日期”的格式字符串:
select TO_DATE('01.' || TO_CHAR(ADD_MONTHS(SYSDATE,-1),'MM.yyyy'), 'dd.mm.yyyy') from dual
但正如lad2025所建议的那样,使用trunc更简单。您可以使用以下公式计算:
使用标签dbms!TO_CHAR etc是特定于产品的功能。根据
TO_CHAR()
和sysdate
的组合,添加了oracle
标记
SELECT TRUNC(ADD_MONTHS(SYSDATE,-1),'mm') AS result
FROM dual;