在产品代码上查询需要数据库。 我使用条形码阅读器并且代码是内部的,因此如果用读取器读取例如“S181002 $ M”形式,那么它将与它一起存储。
问题是,如果用户“手动”输入代码,它只是“S181002”,那么在数据库中查找代码“S181002 $ M”将无效。
什么是适当的SQL查询?
最好使用laravel,但可以满足任何要求。
我试过了:
$articles = DB :: table ('articles') -> where ('code', 'LIKE', '%' $ code '%'..) -> get ();
但很明显“S181002 $ M”不是子串或与“S181002”相同的字符串
你能帮忙吗?注意:我需要避免在alamacenarlo之前进行数据预处理,例如删除“$ M”,因为它会处理各种类型的代码。
谢谢!
答案 0 :(得分:0)
如果你知道代码的长度总是7个字符,你可以这样做:
SELECT articles.* FROM articles WHERE code = SUBSTRING('S181002 $ M', 1, 7);
或者,如果你知道'$ M'将始终是代码后缀:
SELECT articles.* FROM articles WHERE code = REPLACE('S181002 $ M', ' $ M', '');