如何在Apache Calcite中格式化日期字段



我想创建一个RexNode来将日期字段转换为所需格式。以下是SQL等效

选择CONVERT(varchar(12(,"DATE_FIELD",101(-2009年6月29日

在过去的两天里,我一直在努力在方解石API中找到它。请帮我做这个。

我已经用自定义的Sql运算符解决了这个问题。

public static SqlOperator getConvertOperator () {
return new SqlFunction(CONVERT_FUNCTION, SqlKind.OTHER_FUNCTION,
ReturnTypes.BOOLEAN, InferTypes.FIRST_KNOWN,
OperandTypes.ANY, SqlFunctionCategory.SYSTEM);
}

RexNode node = builder.call(getConvertOperator(), builder.literal(SqlTypeName.VARCHAR), builder.field(COLUMN_NAME), builder.literal(FORMAT));

这就成功了。

最新更新