首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.sql.SQLDataException: ORA-01843: mes no válido on select查询

java.sql.SQLDataException: ORA-01843: mes no válido on select查询
EN

Stack Overflow用户
提问于 2019-08-16 17:56:48
回答 1查看 93关注 0票数 0

我有一个查询在DataGrip上工作,但不在Spring boot应用程序上工作。数据库日期格式为: 19-JUN-01 12.00.00.000000 AM

我试着改变日期的格式,但没有帮助。

代码语言:javascript
复制
SELECT 
to_char(to_date(substr(NVL(w.BIRTHDATE, SYSDATE), 1, 9), 'DD-MON-RR'), 'YYYY-MM-DD HH:MI:SS') dob
FROM DBNAME.USERS 

我得到的异常

代码语言:javascript
复制
 ORA-01843: mes no válido; nested exception is java.sql.SQLDataException: ORA-01843: mes no válido

        at org.springframework.jdbc.support.SQLExceptionSubclassTranslator.doTranslate(SQLExceptionSubclassTranslator.java:84)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
        at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1442)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:632)
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:668)
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:693)
        at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:747)
        at org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate.query(NamedParameterJdbcTemplate.java:215)
        at com.voida.panamax.service.impl.ApiServiceImpl.lambda$init$3(ApiServiceImpl.java:240)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLDataException: ORA-01843: mes no válido

        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
        at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1059)
        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)
        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
        at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
        at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225)
        at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:53)
        at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:774)
        at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:925)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1111)
        at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4798)
        at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:4845)
        at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1501)
        at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:677)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:616)
EN

回答 1

Stack Overflow用户

发布于 2019-08-16 18:09:12

在oracle中有很多方法可以将日期转换为任何可读格式。

由于日期存储在字符串中,因此需要将其转换为日期,并使用适当的方法以所需的格式显示它。

在您的示例中,您可以使用以下内容:

--更新了我的答案,因为BIRTHDATE是一个字符串。

代码语言:javascript
复制
SELECT
    TO_CHAR(NVL(TO_DATE(SUBSTR(w.BIRTHDATE, 1, 18), 'RR-MON-DD HH24.MI.SS'), SYSDATE), 'YYYY-MM-DD HH:MI:SS') DOB
FROM DBNAME.USERS;

db<>fiddle demo

干杯!!

-更新--

--如果存储日期的格式为'dd-mon-yy‘,则使用以下格式:

代码语言:javascript
复制
SELECT
    TO_CHAR(NVL(TO_DATE(SUBSTR(w.BIRTHDATE, 1, 18), 'DD-MON-RR HH24.MI.SS'), SYSDATE), 'YYYY-MM-DD HH:MI:SS') DOB
FROM DBNAME.USERS;

请参阅更新的demo,格式如何更改整个输出。在第二个查询中,我使用了'DD-MON-RR‘

干杯!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57522587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档