gpt4 book ai didi

postgresql - 如何在不同的语言环境下使用 PostgreSQL upper() 函数?

转载 作者:行者123 更新时间:2023-11-29 11:41:45 28 4
gpt4 key购买 nike

我在共享主机上有一个 PostgreSQL 数据库,由于语言环境设置,使用 upper 函数的结果在我的本地数据库中是不同的。

这是我想要的,并且在我的本地环境中:

SELECT version();
-- "PostgreSQL 8.4.16 on i386-apple-darwin10.8.0, compiled by GCC i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3), 64-bit"

SHOW LC_COLLATE;
-- "fr_FR.UTF-8"

SELECT upper('étienne');
-- "ÉTIENNE"

这是我在生产环境中拥有的:

SELECT version();
-- "PostgreSQL 9.0.13 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.3.real (Debian 4.3.2-1.1) 4.3.2, 64-bit"

SHOW LC_COLLATE;
-- "C"

SELECT upper('étienne');
-- éTIENNE

现在,由于生产环境在共享主机中,由于主机策略,我无法更改语言环境。那么,在使用 upper 函数时,有没有其他方法可以达到预期的效果呢?

最佳答案

对于 9.1 及更高版本,您可以在本地选择排序规则进行查询。
遗憾的是,考虑到您的版本号,这将需要升级,因此可能有帮助也可能没有帮助。

SELECT UPPER('étienne' COLLATE "C")      C_Collation,
UPPER('étienne' COLLATE "fr_FR") FR_Collation;

C_Collation FR_Collation
--------------------------------------
éTIENNE ÉTIENNE

An SQLfiddle to test with .

关于postgresql - 如何在不同的语言环境下使用 PostgreSQL upper() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17729640/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com