sql - 如何在Oracle中计算字符串中的单词数?

标签 sql oracle oracle11g

我正在尝试计算SQL字符串中有多少个单词。

Select  ("Hello To Oracle") from dual;

我想显示字数。在给定的示例中,尽管单词之间可能有多个空格,但将为3个单词。

最佳答案

您可以使用与此类似的内容。这将获取字符串的长度,然后减去空格后减去字符串的长度。然后,将数字加到第一应该给你的单词数:

Select length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
from yourtable

参见SQL Fiddle with Demo

如果您使用以下数据:
CREATE TABLE yourtable
    (yourCol varchar2(15))
;

INSERT ALL 
    INTO yourtable (yourCol)
         VALUES ('Hello To Oracle')
    INTO yourtable (yourCol)
         VALUES ('oneword')
    INTO yourtable (yourCol)
         VALUES ('two words')
SELECT * FROM dual
;

和查询:
Select yourcol,
  length(yourCol) - length(replace(yourcol, ' ', '')) + 1 NumbofWords
from yourtable

结果是:
|         YOURCOL | NUMBOFWORDS |
---------------------------------
| Hello To Oracle |           3 |
|         oneword |           1 |
|       two words |           2 |

关于sql - 如何在Oracle中计算字符串中的单词数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14008509/

相关文章:

mysql - 列出共享完全相同的列名的所有表

SQL 事务 (b) 锁定选择 - 我的理解正确吗

json - 使用 Oracle Database 19c Enterprise Edition 中的 Json_transform() 函数更新包含 JsonArray 的 Json 列

java - 生成唯一的引用号

sql - 如何对不同表进行计数和求和 (SQL)

java - 日期到字符串的转换错误

sql - Azure SQL 数据库中的 EncryptByKey 和 EncryptByPass 使用哪种加密算法?

sql - 全文索引microsoft/mssql-server-windows-express docker容器

database - ORA-12514 : TNS:listener does not know of service (The service is running and listed by lsnrctl)

java - Oracle SQL - 在通过 JDBC 调用的查询上重用绑定(bind)变量