You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在H2数据库中实现Oracle to_timestamp函数的等效转换?

Oracle to_timestamp 转换为 H2 等效实现

要将Oracle中的to_timestamp转换为H2的等效写法,需要匹配两者的格式符差异,以下是具体实现:

格式串对应关系

Oracle原格式DD-MON-RR HH.MI.SSXFF AM与H2格式的对应规则:

  • DD → dd:两位日期数字
  • MON → MMM:三位英文月份缩写(如APR)
  • RR → yy:两位年份(自动补全世纪,逻辑与Oracle RR一致)
  • HH → hh:12小时制小时数
  • MI → mm:两位分钟数
  • SS → ss:两位秒数
  • XFF → SSSSSSSSS:9位纳秒级小数秒
  • AM → a:上午/下午标识(AM/PM)

H2 等效代码示例

方法1:使用H2原生TO_TIMESTAMP函数(H2 1.4.200及以上版本支持,推荐)

TO_TIMESTAMP('26-APR-23 10.38.27.666000000 PM', 'dd-MMM-yy hh.mm.ss.SSSSSSSSS a')

方法2:使用PARSEDATETIME函数

PARSEDATETIME('26-APR-23 10.38.27.666000000 PM', 'dd-MMM-yy hh.mm.ss.SSSSSSSSS a')

注意事项

  • 需确保H2数据库语言环境为英文,否则三位月份缩写(如APR)无法解析。可在连接URL中指定:jdbc:h2:~/test;LOCALE=en_US
  • 若仅需毫秒级精度,可将格式串中的SSSSSSSSS简化为SSS,对应Oracle的FF3

内容的提问来源于stack exchange,提问作者Ganesh Karuppaiah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 13:25:12