mysql sql 查询字段某符号前或后的数据

此sql用于  查询用户重名 数据重复 取某字段特殊符号前后数据 做判断

select LEFT(字段,INSTR(字段,符号)-1) as 别名,`name`,count(1) from 表名 where 条件 GROUP BY `name`,`别名` HAVING COUNT(1) > 1

LEFT(code, 8)表示取code字段从左截取8位;

INSTR(STR,SUBSTR) 在一个字符串(STR)中搜索指定的字符(SUBSTR),返回发现指定的字符的位置(INDEX); 
STR 被搜索的字符串 
SUBSTR 希望搜索的字符串 
结论:在字符串STR里面,字符串SUBSTR出现的第一个位置(INDEX),INDEX是从1开始计算,如果没有找到就直接返回0,没有返回负数的

原文地址:https://www.cnblogs.com/ahugege/p/11196196.html