java获取oracle中date类型用string接收,在最后会出现.0的情况该如何修改sql解决
时间: 2024-03-09 16:49:21 浏览: 162
如果你使用的是Java中的JDBC API来获取Oracle中的日期类型数据,那么默认情况下,会将日期类型数据转换成java.sql.Timestamp类型。如果你使用getString()方法来获取日期类型数据,那么获取到的数据会是一个字符串,格式为"yyyy-MM-dd HH:mm:ss.S"。其中的".S"部分表示毫秒数。
如果你不想在获取日期类型数据后出现".0"的情况,可以使用Oracle数据库中的TO_CHAR函数将日期类型数据转换成指定格式的字符串。例如,你可以使用以下SQL语句来获取格式为"yyyy-MM-dd HH:mm:ss"的日期字符串:
```
SELECT TO_CHAR(date_column, 'yyyy-MM-dd HH:mm:ss') FROM your_table;
```
如果你使用的是PreparedStatement对象来执行SQL语句,那么你可以使用setString()方法来设置参数值,例如:
```
PreparedStatement ps = conn.prepareStatement("SELECT TO_CHAR(date_column, 'yyyy-MM-dd HH:mm:ss') FROM your_table WHERE id = ?");
ps.setInt(1, 1);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
String dateStr = rs.getString(1);
// do something with the date string
}
```
这样就可以获取到不带".0"的日期字符串了。
阅读全文