正在寻找参考来讨论PostgreSQL对NATIONAL CHARACTER数据类型集的支持。例如该查询运行没有错误:
select cast('foo' as national character varying(10))
然而,文档似乎并未讨论那种Postgres character data types
Postgres实现这些与CHARACTER数据类型不同吗?也就是说,NATIONAL关键字如何影响数据的存储或表示方式?
有人可以共享指向我似乎找不到的任何引用的链接吗? (而不是一段时间后的某些邮件列表对应)
答案 0 :(得分:2)
如果您在PostgresSQL中请求national character varying
,则会得到常规的character varying
。
PostgreSQL对普通字符和国家字符使用相同的编码。
“民族字符”是过去糟糕时代的遗留物,当时人们仍然使用LATIN-1
之类的单字节编码,并且对于不合适的字符需要不同的编码。
PostgreSQL一直支持UNICODE编码,因此这不是问题。只要确保您没有指定默认UTF8
以外的编码即可。
答案 1 :(得分:1)
NATIONAL CHARACTER
在SQL:92标准(第4.2.1节)中没有没有实际意义,仅表示其意思是“特定于实现定义的字符库”。如果您感到惊讶,请不要。 SQL标准有很多棘手的方面。
对于Postgres中的文本处理,您可能有兴趣了解以下内容:
请参阅: