如果想查询名字是张三的字段,但是数据库保存的字符串类型是 A-上海-张三 或者 。B-上海-张三 C-上海-张三01等。也就是需要截取第一个-后边的字符串。
那么需要在SQL中截取判断
SQL去下
select * from user o left join (select o.id b ,substr(o.user_name,instr(o.user_name,’-’,2,1)+1,30) us from user o) i on o.id = i.id where i.us = ‘上海-张三’;
其中30是大概字符串的长度,也就是从第一个-到最后的长度,如果不确定就写的大一点。
user是表名,user_name是列名,最后的那个 上海-张三 是你想查询的字符串。