This question already has answers here:
MySQL SELECT query string matching
                                
                                    (5个答案)
                                
                        
                                在10个月前关闭。
            
                    
我有一个要查找的完整商品代码,'34FDE353UE2'和一个装有上述商品代码的简化版本的表格,例如

itemCode
============
34FDE
35DCF
34FPE
....


我如何查看我的行以查看它们是否与'34FDE353UE2'匹配?在我的示例中,我希望返回第一行,因为34FDE'34FDE353UE2'的子字符串。如何编写查询来做到这一点?

使用MySQL 5.6。

最佳答案

使用like

select * from tablename
where '34FDE353UE2' like concat(itemCode, '%')


这将返回其中itemCode的值是'34FDE353UE2'的起始字符的行。
如果要在itemcode'34FDE353UE2'的子字符串的行,则:

select * from tablename
where '34FDE353UE2' like concat('%', itemCode, '%')

08-25 21:59