0

我有以下 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 时,也会发生同样的事情......

4

2 回答 2

1

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

TO_CHAR( mydate, 'mm-dd-yyyy' )
于 2012-08-17T16:23:47.247 回答
1

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

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

于 2012-08-17T16:24:18.113 回答