当使用Hologre执行如下sql时,执行报错 select address from test2 where address is not null order by address collate "C" asc;
报错信息为: Feature not supported: Non-default collation
是Hologre不支持 collate关键字吗? 还是什么原因?
根据您给出的错误提示,“Feature not supported: Non-default collation”是提示非默认排序规则不支持的错误。 根据Hologres的官方文档,目前的Hologres版本是支持COLLATE的,官方例子如下:
SELECT a COLLATE "zh_CN" FROM foo ORDER BY a COLLATE "en_US" LIMIT 10;
所以,根据错误信息,推测可能是您在使用COLLATE的时候指定了非默认的排序规则,而该规则又不被Hologres所支持,导致了该错误。您可以将 ORDER BY address COLLATE "C" ASC 中的 COLLATE "C" 去掉,使用默认排序规则,再次执行SQL语句试试。
Hologres官方文档:https://www.aliyun.com/product/hologres/documentation
根据错误信息Feature not supported: Non-default collation来看的话是Flink不支持collate 特性或者是不支持对应‘C’的排序规则,可以更换一下排序规则试一下,比如在mysql时 SELECT * FROM 表名 ORDER BY 字段名COLLATE utf8_general_ci DESC;
你好,Hologres不支持在ORDER BY子句中使用非默认排序规则(collation)。
Hologres官方文档中指出:“当前,Hologres不支持用户定义的排序规则(collation),也不支持在ORDER BY子句中使用非默认排序规则。”。因此,如果您在Hologres中使用非默认排序规则,可能会遇到类似“Feature not supported: Non-default collation”的错误信息。
根据提供的信息,该错误应该是由于Hologres不支持使用非默认排序规则(collation)导致的。在Hologres中,排序规则必须是默认排序规则,因此使用非默认排序规则会导致错误。在您的查询中,使用了"C"排序规则,因此导致了错误。
可以尝试使用默认排序规则,或者尝试使用其他支持的排序规则。
Hologres是一个全球分布式云原生数据仓库,支持SQL标准,包括所有支持的SQL关键字和语法。因此,Hologres应该是支持collate关键字的,可以在排序时指定使用的字符序列。根据官方文档中的说明,可能是版本的问题。Hologres当前的版本是v0.7.0,从v0.7.0开始支持collate关键字。如果你使用的是旧版本的Hologres,可能不支持此关键字。建议升级到最新版本的Hologres并再次尝试该查询,以查看是否解决了这个问题。此外,还需要检查查询中是否有其他语法错误或无效的操作。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。