我需要搜索第二个和第三个字符为oo的名称。而且姓氏不是Tomeloos。

我想出了这个查询

SELECT * FROM student
WHERE INSTR(naam, 'o') = 2 AND INSTR(naam, 'o') = 3
AND naam NOT LIKE '%Tomeloos';


但是像预期的那样,这是行不通的,因为这部分永远不会返回true:

AND INSTR(naam, 'o') = 3


因为它将在第二个位置看到一个o。

有谁知道我如何使用INSTR函数实现这一目标?
谢谢

最佳答案

你可以试试

SELECT * FROM student
WHERE SUBSTR(naam, 2, 2) = 'oo'
AND naam NOT LIKE '%Tomeloos';

关于mysql - 依次在字符串中搜索2个相同的字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39390925/

10-11 04:59