我在共享主机上有一个 PostgreSQL 数据库,使用的结果upper
由于区域设置的原因,在本地数据库中使用该函数的结果有所不同。
这是我想要的,并且在我的本地环境中拥有:
\n\nSELECT version();\n-- "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"\n\nSHOW LC_COLLATE;\n-- "fr_FR.UTF-8"\n\nSELECT upper(\'\xc3\xa9tienne\');\n-- "\xc3\x89TIENNE"\n
Run Code Online (Sandbox Code Playgroud)\n\n这是我在生产环境中的情况:
\n\nSELECT version();\n-- "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"\n\nSHOW LC_COLLATE;\n-- "C"\n\nSELECT upper(\'\xc3\xa9tienne\');\n-- \xc3\xa9TIENNE\n
Run Code Online (Sandbox Code Playgroud)\n\n现在,由于生产环境位于共享主机中,因此由于主机策略,我无法更改区域设置。那么,在使用upper函数时,有没有其他方法可以达到预期的结果呢?
\n对于 9.1 及更高版本,您只需在本地选择排序规则即可进行查询。
\n遗憾的是,考虑到您的版本号,这需要升级,因此可能有帮助,也可能没有帮助。
SELECT UPPER(\'\xc3\xa9tienne\' COLLATE "C") C_Collation,\n UPPER(\'\xc3\xa9tienne\' COLLATE "fr_FR") FR_Collation;\n\nC_Collation FR_Collation\n--------------------------------------\n\xc3\xa9TIENNE \xc3\x89TIENNE\n
Run Code Online (Sandbox Code Playgroud)\n\n\n
归档时间: |
|
查看次数: |
4276 次 |
最近记录: |