snowflake-cloud-data-platform - 文本上的雪花排序似乎不正确
问题描述
我是雪花的新手,并注意到文本列的排序不符合预期。
举个简单的例子:
select *
from ( values ('ab'), ('aBc'), ('acd') ) t(col1)
order by col1
预期顺序:ab、aBc、acd
实际顺序:aBc , ab, acd
我错过了什么吗?
谢谢你。
解决方案
您可以在 order by 子句中直接使用 COLLATE 规范。
排序规则允许您指定在比较值时要使用的以下配置设置:
- 语言环境
- 区分大小写
- 重音敏感
- 标点敏感度
- 首字母偏好
- 大小写转换
- 空间修整
以下示例使用英语区域设置(en)和不区分大小写(ci)排序规则:
select *
from ( values ('ab'), ('aBc'), ('acd'), ('Z') ) t(col1)
order by collate(col1, 'en-ci');
返回结果:
ab abc acd Z
推荐阅读
- flutter - Flutter Route 没有响应 onClick
- spring - 关于反向代理到 TLS 微服务的 Spring Gateway 问题
- reactjs - 使用 React Router 更改 url 时未呈现 React 组件
- reactjs - 如何将参数传递给上下文 Reactjs 中的函数
- sql - 按组检查它们是否满足列表,如果不满足,则创建具有缺失值的新行
- git - Git分支,结帐和合并,试图了解它的使用
- python - Selenium 不从站点打印数据
- spring - 如何解决 javax.servlet.ServletException:基本 Spring Security 的圆形视图路径?
- amazon-athena - AWS Athena, Erro when Len of String
- couchbase - 如何选择字段中包含特定模式的所有文档?