sql写法
select
r.SN, r.PN, r.MODEL_DESC,
CASE
WHEN locate('6G',r.MODEL_DESC)>0 THEN 0
WHEN locate('3G',r.MODEL_DESC)>0 THEN 1
ELSE 2
END as machineType
<!--0代表6G机器,1代表3G机器,2代表其他机器-->
from material r
inner join material_tel m on r.ID = m.MATERIAL_ID and m.IS_DEL = 0
where m.CUSTOMER_TEL = #{customerTel} and r.IS_DEL = 0
locate(‘xx’,‘xxx’)函数说明
SELECT locate('E','EABCD')结果为1SELECT locate('E','AEBCD')结果为2SELECT locate('E','AEBCD')结果为3SELECT locate('E','ABCED')结果为4SELECT locate('E','ABCDE')结果为5SELECT locate('E','ABCD')结果为==>0
所以当后面字段的值不包含前面的字符串时,返回的结果为
0,再利用case when语句相结合,就可以根据这个字段值是否包含什么字符串或者什么数字或者什么值进行相应的判断,得到自己想要的结果。
本文介绍了一种使用SQL的locate函数结合case when语句来筛选特定字段的方法。通过此方法可以根据字段值中是否包含指定字符串来进行分类。
4303

被折叠的 条评论
为什么被折叠?



