首页 > 解决方案 > postgres中的较低功能

问题描述

如何在 postgres 中使用 lower 函数将高位特殊字符转换为低位特殊字符。考试用:SELECT lower('Ş')。它的结果是' Ş'而不是' ş'。

标签: sqlpostgresql

解决方案


您必须选择正确的排序规则:

SELECT lower('Ş' COLLATE "C");
 lower 
-------
 Ş
(1 row)

SELECT lower('Ş' COLLATE "az_AZ.utf8");
 lower 
-------
 ş
(1 row)

如果您没有明确选择排序规则,则它取自列的排序规则或(缺少)您可以显示的数据库的排序规则\l

明智地选择数据库排序规则通常是一个好主意,这样您就不必显式指定排序规则。


推荐阅读