【发布时间】:2016-02-10 19:18:25
【问题描述】:
我们希望在 PostgreSQL 中使用 ascii 将一个文本字段转换为字节。
例子:
"table" = t:116*1(1 为第一位)+ a:97*2(2 为第二位 位置) + b: 99*3 等
select ascii([text field]) 只返回第一个字母的 ascii 字节。
【问题讨论】:
标签: postgresql byte ascii bytea
我们希望在 PostgreSQL 中使用 ascii 将一个文本字段转换为字节。
例子:
"table" = t:116*1(1 为第一位)+ a:97*2(2 为第二位 位置) + b: 99*3 等
select ascii([text field]) 只返回第一个字母的 ascii 字节。
【问题讨论】:
标签: postgresql byte ascii bytea
如果你只想要一个与字符串的字节序列对应的bytea值,你可以使用:
SELECT convert_to('åbçd€','SQL_ASCII')
如果这不是您想要的,您可以转换为一组代码点,然后您可以用它做您想做的事:
SELECT ascii(c) FROM regexp_split_to_table('åbçd€','') s(c)
请注意,它们处理非 ASCII 字符的方式非常不同。假设一个 UTF8 编码的数据库,convert_to('å','SQL_ASCII') 将为您提供多个 UTF8 代码单元,而 ascii('å') 返回一个 Unicode 代码点。
【讨论】:
regexp_split_to_table())会这样做