sql - postgres中的较低功能
问题描述
如何在 postgres 中使用 lower 函数将高位特殊字符转换为低位特殊字符。考试用:SELECT lower('Ş')
。它的结果是' Ş
'而不是' ş
'。
解决方案
您必须选择正确的排序规则:
SELECT lower('Ş' COLLATE "C");
lower
-------
Ş
(1 row)
SELECT lower('Ş' COLLATE "az_AZ.utf8");
lower
-------
ş
(1 row)
如果您没有明确选择排序规则,则它取自列的排序规则或(缺少)您可以显示的数据库的排序规则\l
。
明智地选择数据库排序规则通常是一个好主意,这样您就不必显式指定排序规则。
推荐阅读
- python - QHBarModelMapper 和 QAbstractItemModel 行编号
- python - 欧拉问题 #8 for 循环正在迭代,但第一次只创建一个非空白块
- ruby-on-rails - 显示仅属于该用户的记录 ruby on rails
- python - 我什么时候应该在 python 中使用静态类变量?
- python - 如何将 Python 程序编译为包含多个文件的 mac?
- python - 如何使用“saved_model.simple_save”保存的张量流模型?
- kubernetes - kompose 无法将 docker compose 转换为仅键字段
- laravel - 如何在测试期间禁用附加模型访问器?
- hibernate - 一对多关系问题中的抽象遗传类型
- java - JNA 分配缓冲区 FIXED_INFO 引发无效的内存访问