我如何从PostgreSQL中的VARCHAR获取Unicode值?

时间:2011-11-23 01:36:52

标签: postgresql unicode

我想从PostgreSQL中的列值返回unicode值。

这可能吗?我怎么办?

示例:

"Renato" : U+0022 U+0052 U+0065 U+006E U+0061 U+0074 U+006F U+0022

我想这样做,因为我想从一些符号和标点符号中发现Unicode,以添加到转换正则表达式以将这些值替换为其他符号。

2 个答案:

答案 0 :(得分:5)

获取一个Unicode代码点:

SELECT ascii('ã')

结果:

227

更多in the manual here。引用:

  

对于UTF8,返回字符的Unicode代码点。

获取字符串的Unicode代码点:

SELECT array_agg(t)
FROM (
       SELECT ascii(regexp_split_to_table('Conceição', '')) AS t
     ) x

如果您想要一个文本字符串作为结果,请使用string_agg。为此,您必须将值转换为文本。

答案 1 :(得分:0)

您可以一次列出整个范围,而无需将字符输入查询:

select i, chr(i)
from
    generate_series(160, 255) s(i)
order by i