Postgresql:如何对列中字符的ASCII码求和?

Posted

技术标签:

【中文标题】Postgresql:如何对列中字符的ASCII码求和?【英文标题】:Postgresql: How to sum the ASCII codes of characters in a column? 【发布时间】:2019-06-05 03:54:22 【问题描述】:

示例设置:

CREATE TABLE tbl (word TEXT);
INSERT INTO tbl VALUES ('abc');
INSERT INTO tbl VALUES ('def');

如何编写一个查询来返回每一行的word中字符的ASCII码总和?

例如,第一行应为294('abc' 变为 97+98+99=294),第二行应为 303('def' 变为 100+101+102=303)。

【问题讨论】:

【参考方案1】:

以下似乎有效:

select
    word,
    (select sum(ascii(regexp_split_to_table)) from regexp_split_to_table(word, ''))
from tbl;

【讨论】:

以上是关于Postgresql:如何对列中字符的ASCII码求和?的主要内容,如果未能解决你的问题,请参考以下文章