查询匹配多值字段

业务场景:

数据库里面某个字段保存了多个值,例如按逗号分隔  

如图下所示:

要筛选出包含4.2的的值

   1、 LIKE方式查询:

SELECT 
 truck_length
FROM
  tms_cargo t
WHERE (
    loading_type = 1 
    AND (
      truck_length = '4.2' 
      OR truck_length LIKE '4.2,%' 
      OR truck_length LIKE '%,4.2,%' 
      OR truck_length LIKE '%,4.2'
    )
  );
  

   2、正则表达式查询:

SELECT 
  truck_length
FROM
  tms_cargo 
WHERE 
    loading_type = 1
    AND truck_length REGEXP '^4.2,|,4.2,|,4.2$|^4.2$' 
    

猜你喜欢

转载自liuyunlong1229.iteye.com/blog/2387069
今日推荐