我的Java类中有一个查询,它获取(Order_num(VARCHAR和Time_Field(TIMESTAMP(6(WITH Time ZONE(,如下所示:
select order_num,time_Field from
MY_TABLE where ORD_NUM='123456789' ORDER BY time_Field desc
然而,它给了我">
JDBC类型没有方言映射:-101"异常
我非常怀疑这是由于Oracle数据库和Hibernate之间的映射。因为在没有返回"Time_Field"的情况下,查询运行良好。
有没有一种方法可以将"TIMESTAMP WITH TIME ZONE"转换为简单的"TIMESTAMP"?
我通过运行以下查询终于找到了答案:
SELECT order_num,TO_CHAR(
FROM_TZ( CAST( time_Field AS TIMESTAMP ), 'UTC' )
AT LOCAL,
'YYYY-MM-DD HH:MI:SS PM'
) AS local_time
FROM MY_TABLE
where ord_num='123456789'
ORDER BY time_Field desc;