这在 postgres 8.4 中不起作用:
SELECT DISTINCT col1 FROM mytable
ORDER BY UPPER(col1);
Run Code Online (Sandbox Code Playgroud)
但这有效:
SELECT DISTINCT col1 FROM mytable
ORDER BY col1;
Run Code Online (Sandbox Code Playgroud)
我知道数据库可能会有点困惑,是先应用 DISTINCT 再应用 UPPER 还是先转换为 UPPER 然后应用 DISTINCT。根据其应用顺序,人们可能会得到不同的结果。不确定 SQL 标准是否有这方面的规定。
任何帮助将不胜感激。
许多 SQL 引擎只允许您对选定的列进行排序。因此修复将 UPPER(col1) 添加到选择中。
SELECT DISTINCT UPPER(col1), col1 FROM mytable ORDER BY UPPER(col1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2585 次 |
| 最近记录: |