gpt4 book ai didi

sql - Heroku Postgres 上 SQL 查询中的字符串比较

转载 作者:行者123 更新时间:2023-11-29 13:32:11 25 4
gpt4 key购买 nike

我昨天看到了 Heroku Postgres 的奇怪行为。当我执行此 sql 查询以进行字符串比较时:


SELECT ('2013/12-25' <= '2013/12/')

我的开发机器(9.2.3,Mac OS X Mavericks)上的 Postgres 返回 true(这是正确的),而 Heroku(9.2.4)上的 Postgres 返回false !!!

有人知道如何解决这个问题吗?

最佳答案

似乎这两个 Postgresql 实例 [在服务器配置中具有不同的默认 COLLATIONS ( http://www.postgresql.org/docs/9.3/static/collation.html ):

尝试检查此命令在两个服务器上是否输出相同的结果:

show lc_collate

对于您的示例,不同的排序规则可以显示不同的结果。例如:

SELECT (('2013/12-25' COLLATE "en_US") <= ('2013/12/' COLLATE "en_US"))
UNION ALL
SELECT (('2013/12-25' COLLATE "ko_KR") <= ('2013/12/' COLLATE "ko_KR"))

SQLFiddle demo

关于sql - Heroku Postgres 上 SQL 查询中的字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20781061/

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