【问题标题】:SQL's to_date formatting not being displayedSQL to_date 格式未显示
【发布时间】:2012-08-17 16:21:34
【问题描述】:

我有以下 SQL 查询

select to_date(start_date, 'dd-Mon-yy') AS start_date FROM table

我还有以下 ResultSet 对象 (rs)

rs.getDate("start_date")

当我在 SQL 开发人员中直接针对数据库 (Oracle) 运行查询时,格式按预期返回 (08-AUG-12),但是当我使用 JDBC 在我的 Java 应用程序中运行查询时,它打印为 2012-08-08

我是否以正确的方式获取格式?我应该只选择列(日期数据类型),然后通过 JodaTime 的 DateTimeFormatter 进行格式化吗?我不确定我在这里做错了什么。

当我从 java.sql.Date 转换为 java.util.Date 时也会发生同样的事情...

【问题讨论】:

    标签: java oracle jdbc resultset jodatime


    【解决方案1】:

    当您在 Java 中处理 Date 对象时,不会考虑数据库格式。如果您想完全匹配函数中的格式,可以使用TO_CHAR,并将列作为String 获取。

    或者,您继续以Date 获取列,然后使用DateTimeFormatter 进行相应的格式化。

    【讨论】:

      【解决方案2】:

      您只是在此处转换为日期...您可能希望转换为字符串以进行输出。

      TO_CHAR( mydate, 'mm-dd-yyyy' )
      

      【讨论】:

        猜你喜欢
        • 2022-01-02
        • 2015-07-31
        • 1970-01-01
        • 1970-01-01
        • 2014-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多