我试图在我的关系数据库中找到一个字符“e”出现三次的字符串。我已经找到了一种方法,可以使用以下代码查找两次出现字符“e”的字符串:
SELECT lastname FROM participants WHERE INSTR(lastname, 'e') AND INSTR(SUBSTRING(lastname,INSTR(lastname, 'e') + 1), 'e');
如何找到字符串中出现三次字符“e”的字符串?
hs1rzwqc1#
将“e”替换为空字符串,并将原始字符串的长度与替换了“e”的字符串进行比较。
gpnt7bae2#
SELECT LENGTH('efooefooe') - LENGTH(REPLACE('efooefooe', 'e', ''));
给出3。所以:
SELECT lastname FROM participants WHERE LENGTH(lastname) - LENGTH(REPLACE(lastname, 'e', '')) = 3;
z4bn682m3#
使用 like . 对于三次或三次以上的外观:
like
where lastname like '%e%e%e%'
三次亮相:
where lastname like '%e%e%e%' and lastname not like '%e%e%e%e%'
如果您有不区分大小写的排序规则并且希望避免查找 'E' ,然后转换为区分大小写的排序规则。
'E'
3条答案
按热度按时间hs1rzwqc1#
将“e”替换为空字符串,并将原始字符串的长度与替换了“e”的字符串进行比较。
gpnt7bae2#
给出3。
所以:
z4bn682m3#
使用
like
. 对于三次或三次以上的外观:三次亮相:
如果您有不区分大小写的排序规则并且希望避免查找
'E'
,然后转换为区分大小写的排序规则。