[英]How to format date fields in Apache Calcite?
I would like to create a RexNode to convert date fields in desired format.我想创建一个 RexNode 来转换所需格式的日期字段。 Below is the SQL equivalent下面是等价的 SQL
SELECT CONVERT(varchar(12), "DATE_FIELD", 101) - 06/29/2009选择转换(varchar(12),“日期字段”,101) - 06/29/2009
I have been struggling past two days to find it in the calcite API.过去两天我一直在努力在方解石 API 中找到它。 Please help me with this.请帮我解决一下这个。
I have resolved the issue with a custom defined Sql operator.我已经用自定义的 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));
That just did the trick.那只是成功了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.