函数TO_NUMBER在 H2 路线图中为 1.4.x 作为优先级 2。但是在最新版本 1.4.196 中,它仍然不受支持。谁能告诉我,我可以期待什么版本支持此功能?
作为解决方法,请执行此 SQL 以创建函数:
CREATE ALIAS TO_NUMBER AS $$
Long toNumber(String value) {
return value == null ? null : Long.valueOf(value);
}
$$;
Aaron Digulla提供了一个很好的答案,但不幸的是,它并没有真正涵盖Oracle to_number
函数的所有语义。
其中一个极端情况是能够解析像这样的数字 7E+8
. Long.valueOf(value)
无法应付这一点。
为了更接近实际实现,我建议使用建议别名的稍微扩展版本:
CREATE ALIAS TO_NUMBER AS '
@CODE
Long toNumber(String value) {
return value == null ? null : Double.valueOf(value).longValue();
}
'