4

我需要知道如何substring_index只返回与分隔符数量完全匹配的所有行。在这种情况下.

例如这个查询:

 SELECT
 SUBSTRING_INDEX(ABC, '.', 4)
 FROM xxx

只有当行完全像这样(4个字)时才应该输出:

aaa.bbb.ccc.ddd

问题是:这一行也显示了。

aaa.bbb
4

1 回答 1

5

这将返回 ABC 有 3 个.分隔符的任何内容。

select *
from xxx
where char_length(replace(ABC, '.', '')) + 3 = char_length(ABC)

如果您的定界符有一个多字符串,则需要将 3 乘以定界符长度。

于 2012-10-03T16:53:03.147 回答