在 H2 中将特殊字符串转换为日期

Convert special String into Date in H2

Oracle to_date('26 Jul 2016, 05:15:58 AM','DD Mon YYYY, HH:MI:SS AM') 中有一个 SQL 函数,它在 H2 中抛出异常 "Illegal pattern character 'o'"。

我应该如何更改它才能使其在 H2 中工作?

H2中TO_DATE()的等价函数是PARSEDATETIME().

这是您应该如何将它用于示例数据:

PARSEDATETIME('26 Jul 2016, 05:15:58 AM','dd MMM yyyy, hh:mm:ss a','en')

注意不要使用HH:mm:ss否则AM/PM检测将不起作用

再举个例子,积分毫秒:

Oracle 中的原始值为13-APR-17 10.49.36.558000000 PM。首先,您需要去掉多余的零并以 13-APR-17 10.49.36.558 PM 结束,然后您可以调用

call PARSEDATETIME('13-APR-17 10.49.36.558000000 PM','dd-MMM-yy hh.mm.ss.SSS a','en');

注意额外的格式参数 .SSS