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

问题描述

我正在使用方解石库通过 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 也可以。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...