如何在PostgreSQL非unicode数据库中插入带有编码值的字符?

kxe2p93d  于 2022-12-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(163)

我用下面的语句在PostgreSQL中创建了一个数据库和一个表:

CREATE DATABASE pg_euc_cn WITH ENCODING = 'EUC_CN' LC_COLLATE = 'C' LC_CTYPE = 'C' TEMPLATE=template0;

CREATE TABLE t1 (VALUE VARCHAR(3));

I want to insert the character '单' into this table, with its euc-cn encoded value 'B5A5' or its unicode code point '5355' instead of the character itself.
我试过

insert into t1 values (x'B5A5')

以及

insert into t1 values (0xB5BA)


但是它们不适用于PostgreSQL,正确的说法是什么?

xzv2uavs

xzv2uavs1#

文件内容包括:
PostgreSQL也接受“转义”字符串常量,这是SQL标准的一个扩展。转义字符串常量是通过在开始的单引号前写上字母E(大写或小写)来指定的,例如E'foo'
\uxxxx\Uxxxxxxxx(x = 0-9,A-F)- 16或32位十六进制Unicode字符值
So E'\u5355' for '单'.
还有另一种编写Unicode转义字符串的方法。

相关问题