【发布时间】:2020-08-10 13:12:54
【问题描述】:
我正在尝试创建一个接受 TIMESTAMP_WITH_TIMEZONE 值作为输入参数的 Oracle SQL 函数。
CREATE FUNCTION my_func ( timetz IN TIMESTAMP WITH TIMEZONE ) // Not going to work
// code here
BEGIN
// code here
END;
然后尝试如下传递输入。我正在尝试将用户提供的不同时区设置为 ZonedDateTime 值。以下代码以当前LocalDateTime为例。
public void myFunc( )
{
CallableStatement stmt = con.prepareCall("{call my_func ( ? )}");
stmt.setObject( ZonedDateTime.of( LocalDateTime.now() ), java.sql.Types.TIMESTAMP_WITH_TIMEZONE);
stmt.execute();
}
理想的方法是什么。
【问题讨论】:
-
JDBC 规范只为
TIMESTAMP_WITH_TIME_ZONE定义了对java.time.OffsetDateTime的支持。