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
也可以。
我正在使用 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
也可以。