如何在MySQL中计算一个字段所有行的字符数?

10
我需要在MySQL中的文本字段中统计字符总数。我需要知道该字段中所有帖子的字符总数,并且不知道如何做到这一点... 任何帮助都将是极好的。谢谢。

你所说的“该领域中的所有帖子”是什么意思?通常一个领域只包含一个条目,无论是“帖子”还是其他内容。 - Dmitry Avtonomov
好的,是的 chhh。它包含一个条目。我说过“post”。可以吗? - i-CONICA
3个回答

27

对于字节大小的数量,可以使用以下函数: strlen() 来获取字符串的长度,或者使用 sizeof() 函数来获取变量或数据类型占用的字节数。

select sum(length(your_column_name)) 
from your_table_name;

对于字符数量,你可以使用JavaScript中的length属性来获取字符串的长度:

select sum(char_length(your_column_name)) 
from your_table_name;

char_length() 函数 支持多字节字符;五个双字节字符将返回为 5。


1
哦,太好了,是的,他说“所有字符的总和”,所以LENGTH会给出错误的结果。我已经自作主张更新了我的答案,使用CHAR_LENGTH,因为这是需要的,我付出+1 :-) - stivlo

5

只需将该字段的所有长度相加即可

SELECT SUM(CHAR_LENGTH(field)) FROM table

Length() 返回的是字节数,而不是字符数(除非巧合)。 - Mike Sherrill 'Cat Recall'
是的,我注意到并更新了答案。有趣的是我们在完全相同的时间互相评论了对方的帖子。 - stivlo

2

CHAR_LENGTH(column)函数会计算空格,如果要计算除空格外的所有字符,我们需要先去掉空格。希望这能帮到你。

SELECT SUM(char_length(REPLACE(column, ' ', ''))) FROM table

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接