在产品代码上查询需求数据库。
我使用的是条形码阅读器,并且该代码是内部的,因此,例如,如果使用阅读器进行读取,其格式为“ 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', '');

09-25 21:40