mysql语法like concat语法使用记录
例如表数据如下:
表名:base_org
baes_org_code | base_org_path_id
898000000030081 | 0,898000000000001,898000000030081
898000000030168 | 0,898000000000001,898000000030168
898000000030170 | 0,898000000000001,898000000030030,898000000030170
898000000030172 | 0,898000000000001,898000000030030,898000000030172
898000000030174 | 0,898000000000001,898000000030030,898000000030174
898000000030176 | 0,898000000000001,898000000030030,898000000030176
如果要根据某一个base_org_code的base_org_path_id列出所有跟path_id相关的数据
比如’898000000030170’ 这条数据,的path_id为’0,898000000000001,898000000030030,898000000030170’ 拆分当前path_id获取所有的base_org_code数据行可用如下语法:
select * from base_org t where
– 当前子查询字段只能查询一个
(select base_org_path_id
from base_org where base_org_code=‘898000000030170’ )
like concat(’%’,t.base_org_code,’%’)
– 这句话代表查询出base_org_code为当前的数据的base_org_path_id也就是’0,898000000000001,898000000030030,898000000030170’
– 条件为 (’%’+t.base_org_code+’%’) like base_org_path_id 模糊的base_org_code like org_path_id的数据也就能查询出几条数据