我只是想用前缀来做研究。
例如。当我搜索10542
时,110542
不应该在那里,而只有105428001
。
字符串:
110542004
105428001
我尝试过
LEFT(INV.INV_CD,5) LIKE '%".$option3."%'";
和
SUBSTRING(INV.INV_CD,1,5) LIKE '%".$option3."%'";
两个结果都相同。
答案 0 :(得分:1)
问题是您的LIKE
语法:
LIKE '%".$option3."%'";
使用%
意味着可以在同一位置放东西,因此LIKE '%".$option3."%'";
可以返回XXXX + $option3 + XXXX
的值(其中XXXX
等于零或多个字符)
如果只想$option3 + XXXX
,只需写LIKE '".$option3."%'";
使用LIKE,您可以在模式中使用以下两个通配符:
%匹配任意数量的字符,甚至零个字符。
_恰好匹配一个字符。
答案 1 :(得分:1)
在like子句中有%时,它允许任何字符,因此开头的一个字符允许它在任何地方开始。删除它以开始...
INV.INV_CD LIKE '".$option3."%'";
注意:您还应该尝试使用准备好的语句,因为它们将来可能会阻止很多问题!