在产品代码上查询需求数据库。
我使用的是条形码阅读器,并且该代码是内部的,因此,例如,如果使用阅读器进行读取,其格式为“ S181002 $ M”,则将其与之一起存储。
问题是,如果用户输入“手动”代码,则只能输入“ S181002”,因此在数据库中查找代码为“ S181002 $ M”的代码将不起作用。
什么是适当的sql查询?
最好使用laravel,但可以容纳任何要求。
我尝试了这个:
$articles = DB :: table ('articles') -> where ('code', 'LIKE', '%' $ code '%'..) -> get ();
但显然“ S181002 $ M”不是子字符串,也不是与“ S181002”相同的字符串
你能帮我吗?
注意:我需要避免在alamacenarlo之前进行数据预处理,例如删除“ $ M”,因为它将处理各种类型的代码。
谢谢!
最佳答案
如果您知道代码将始终为7个字符长,则可以执行以下操作:
SELECT articles.* FROM articles WHERE code = SUBSTRING('S181002 $ M', 1, 7);
另外,如果您知道'$ M'将始终是代码后缀:
SELECT articles.* FROM articles WHERE code = REPLACE('S181002 $ M', ' $ M', '');