TO_TIMESTAMP函数无法在方解石中解析

TO_TIMESTAMP function can not be resolved in calcite

我正在使用 calcite 库通过 API 查询我的数据,我找到了名为 TO_TIMESTAMP https://calcite.apache.org/docs/reference.html 的函数,但是当我调用它时给出异常,没有带有此签名的函数

我想做什么:

SELECT TO_TIMESTAMP(cast(ORGINALTIMESTAMP as varchar),cast('yyyy-MM-dd HH:mm:ss' as varchar)) as  TEST from my_table

我得到的异常:

未找到函数签名的匹配项 TO_TIMESTAMP(, )

知道我做错了什么吗?

要解决此问题,请在用于连接到 Calcite 的 JDBC 连接字符串中包含 fun=postgresql,该字符串以 jdbc:calcite: 开头。

在 Calcite 中,TO_TIMESTAMP 是方言特定的运算符。这意味着它不包含在默认方言中,这就是它出现在 Calcite's table of dialect-specific operators.

中的原因

TO_TIMESTAMP 的 'c'(兼容性)列包含值 'o p',这意味着 TO_TIMESTAMP 在 Oracle 和 PostgreSQL 函数表中已启用。这就是 fun=postgresql 解决问题的原因; fun=oracle 也可以。