首页 > 解决方案 > 如何检查“连接”字符串的长度

问题描述

有人知道如何在 Oracle 中编写查询以获取字符长度:

|  user   |    action   |
-------------------------
|  mary   |  aaa        |    # 3 characters from action
|  mary   |  bbbbb      |    # 5 characters from action
|  mary   |  c          |    # 1 character from action
|  adam   |  xx         |    # 2 characters from action
|  adam   |  yyyy       |    # 4 characters from action
|  adam   |  zzzzzzz    |    # 7 characters from action

所以结果应该是每个字符的总和:

|  mary |    9    |
|  adam |   13    |

谢谢。

标签: oracleoracle11goracle10g

解决方案


SUM + LENGTHGROUP BY用户一起。第 1 - 14 行中的样本数据;您需要的查询从第 15 行开始。

SQL> WITH
  2     test (cuser, action)
  3     AS
  4        (SELECT 'mary', 'aaa' FROM DUAL
  5         UNION ALL
  6         SELECT 'mary', 'bbbbb' FROM DUAL
  7         UNION ALL
  8         SELECT 'mary', 'c' FROM DUAL
  9         UNION ALL
 10         SELECT 'adam', 'xx' FROM DUAL
 11         UNION ALL
 12         SELECT 'adam', 'yyyy' FROM DUAL
 13         UNION ALL
 14         SELECT 'adam', 'zzzzzzz' FROM DUAL)
 15    SELECT cuser, SUM (LENGTH (action))
 16      FROM test
 17  GROUP BY cuser;

CUSE SUM(LENGTH(ACTION))
---- -------------------
mary                   9
adam                  13

SQL>

推荐阅读