SELECT sysdate as today,
       to_date(CONCAT (to_char(sysdate,'MM-DD-YYYY'),
               to_char(sysdate,'hh24:mi:ss'))) as time
FROM DUAL

每次我执行这个查询时,它都会给我ORA-01843: not a valid month
有人能帮帮我吗?

最佳答案

据我所知,您希望看到从sysdate开始的时间,如果需要,请选择:

SELECT sysdate as today,
       to_char(sysdate,'MM-DD-YYYY hh24:mi:ss'))) as time
FROM DUAL

在您的示例中,错误的部分是to-u date,您应该使用mask for to-u date:
to_date(CONCAT (to_char(sysdate,'MM-DD-YYYY'),
               to_char(sysdate,'hh24:mi:ss')),'MM-DD-YYYY hh24:mi:ss')

但这将返回与sysdate完全相同的结果,因为这两列都是日期,日期的格式取决于变量nls_date_format,请选中here

关于sql - ORA-01843:使用to_date函数时不是有效的月份错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34717313/

10-13 02:38