在MySQL中,没有内置的CHARINDEX函数,但是可以使用LOCATE或者INSTR函数来实现类似的功能
假设我们有一个表employees,包含两个字段:id和name。我们想要查询名字中包含字母"a"的所有员工。
使用LOCATE函数:
SELECT * FROM employees WHERE LOCATE('a', name) > 0;
使用INSTR函数:
SELECT * FROM employees WHERE INSTR(name, 'a') > 0;
这两个查询都会返回名字中包含字母"a"的所有员工。LOCATE和INSTR函数的区别在于参数的顺序不同。LOCATE函数的第一个参数是要查找的子字符串,第二个参数是原始字符串;而INSTR函数的第一个参数是原始字符串,第二个参数是要查找的子字符串。
如果你想查找名字中不包含字母"a"的员工,可以将条件改为LOCATE('a', name) = 0或者INSTR(name, 'a') = 0。