查找有关PostgreSQL对数据类型国家字符集的支持的引用。例如,该查询运行时没有错误:
select cast('foo' as national character varying(10))然而,文档似乎并没有讨论那种类型的Postgres字符数据类型
Postgres实现这些与字符数据类型不同吗?也就是说,国家关键字如何影响数据的存储或表示方式?
有人能与我似乎找不到的任何参考文献分享一两条链接吗?(除了前一段时间的一些邮件列表信函外)
发布于 2019-08-26 06:29:20
如果您在PostgresSQL中请求一个PostgresSQL,您将得到一个普通的character varying。
PostgreSQL对正常字符和国家字符使用相同的编码。
“国家字符”是从过去糟糕的时代遗留下来的,当时人们仍然使用像LATIN-1这样的单字节编码,并且需要对不合适的字符进行不同的编码。
PostgreSQL一直支持UNICODE编码,因此这不是一个问题。只需确保您没有指定默认UTF8以外的编码。
发布于 2019-08-26 00:35:29
在SQL:92标准(4.2.1节)中,NATIONAL CHARACTER没有真正意义上的,它只表示“特定实现定义的字符汇辑”。如果你感到惊讶,不要惊讶。SQL标准有很多令人费解的地方。
至于Postgres中的文本处理,您可能有兴趣了解:
请参见:
https://stackoverflow.com/questions/57649798
复制相似问题