如果我们有短语“我叫玛丽”。我想得到4的输出,因为句子中有4个单词。我要用sql写这个。我使用了函数length,但它是按字母计数的。有什么帮助吗?
13z8s7eq1#
你可以试试这个:
select size(split(str, " ")) from your_table;
或:
select length(regexp_replace(str, '[^ \t\r\n\v\f]', '')) + 1 from your_table;
bfrts1fy2#
假设单词由单个空格分隔,则可以使用count and replace方法:
select length(str) - length(replace(str, ' ', '')) + 1
这将计算空格数并加1。编辑:要处理一行中的多个空格,可以将其调整为:
select length(regexp_replace(str, ' +', ' ')) - length(replace(str, ' ', '')) + 1
2条答案
按热度按时间13z8s7eq1#
你可以试试这个:
或:
bfrts1fy2#
假设单词由单个空格分隔,则可以使用count and replace方法:
这将计算空格数并加1。
编辑:
要处理一行中的多个空格,可以将其调整为: