哪个是适当的sql查询?

时间:2014-03-28 23:19:50

标签: mysql sql laravel laravel-4

在产品代码上查询需要数据库。 我使用条形码阅读器并且代码是内部的,因此如果用读取器读取例如“S181002 $ M”形式,那么它将与它一起存储。

问题是,如果用户“手动”输入代码,它只是“S181002”,那么在数据库中查找代码“S181002 $ M”将无效。

什么是适当的SQL查询?

最好使用laravel,但可以满足任何要求。

我试过了:

$articles = DB :: table ('articles') -> where ('code', 'LIKE', '%' $ code '%'..) -> get (); 

但很明显“S181002 $ M”不是子串或与“S181002”相同的字符串

你能帮忙吗?

注意:我需要避免在alamacenarlo之前进行数据预处理,例如删除“$ M”,因为它会处理各种类型的代码。

谢谢!

1 个答案:

答案 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', '');