在Postgres整理的目的

Har*_*ish 17 sql postgresql

我是Postgres的新手.我刚从这里开始学习它.我从select语句中找到了COLLATE"C"

SELECT not_equal(first_name, last_name COLLATE "C")
Run Code Online (Sandbox Code Playgroud)

我想知道COLLATE"C"会做什么?

Sha*_*yna 18

排序规则用于对字符串(文本)进行排序,例如按字母顺序排列,是否重要,如何处理具有重音的字母等.COLLATE"C"告诉数据库根本不使用排序规则.如果他们设计一个数据库来保存不同语言的数据,就可以使用它.从技术上讲,COLLATE"C"将使用字节顺序来驱动文本比较.

关于https://dba.stackexchange.com/questions/94887/what-is-the-impact-of-lc-ctype-on-a-postgresql-database的第一个答案提供了使用COLLATE之间差异的一个很好的例子" C"与COLLATE"fr_FR"使用法国本地化.