PostgreSQL 字符串比较

5 投票
1 回答
1379 浏览
提问于 2025-04-17 18:03

我想要查询所有的项目,条件是它们的字符串'id'要大于一个指定的id。

这个查询 select * from machine_thread where id > 'znRb1c_3TPytk-JoPX19Qw' 返回了一个id为 zT4GabH3Qy2W6YIGh8Ku-w 的项目。

在我使用的其他编程语言(比如python和javascript)中,字符串比较会显示 'znRb1c_3TPytk-JoPX19Qw' 是大于 'zT4GabH3Qy2W6YIGh8Ku-w' 的。但是在postgresql中,它是怎么处理的呢?有没有办法让我在所有环境中都能用相同的方式来比较字符串ID呢?

1 个回答

6

这是因为 PostgreSQL 使用了 COLLATE

你可以执行 SHOW LC_COLLATE 来查看你正在使用的排序规则。

你想要的排序规则(Python 和 JavaScript 使用的)是 "C"

示例可以在 这里找到。

详细信息请查看 这里

撰写回答