首页 > 解决方案 > 想要在数据中找到单个字符“Y”,它可以在列表中的任何位置,但必须是单个“Y”

问题描述

想要在数据中找到单个字符“Y”,它可以在列表中的任何位置,但必须是单个“Y”

样本数据:

Value
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNYNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNYNN
NNNNNNNNNNNNNYNNNNNNNNNYNNNNNNNN
NNNNNNNNNNNNYNNNNNNYNNNNNNNYNNNN
NNNNNNNNNNYNNNNNNNNNNNNNNNNNNNNN
YNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN

期待结果

Value
NNNNNNNNNYNNNNNNNNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNYNN
NNNNNNNNNNYNNNNNNNNNNNNNNNNNNNNN
YNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN

标签: sql

解决方案


您可以使用LIKE

where value like '%Y%' and
      value not like '%Y%Y%'

您还可以使用replace()字符串的长度。像这样的东西:

where length(value) = length(replace(value, 'Y', '')) + 1

如果您想找到 3 到 7 个“Y”,这会更方便一些。


推荐阅读