2013-04-10 117 views
1

为什么这LIKE语句MySQL的LIKE更多的结果比预期

WHERE configuration_key LIKE 'MODULE_SHIPPING_DP_%' 

显示的结果是这样的:

MODULE_SHIPPING_DPD_STATUS 
MODULE_SHIPPING_DP_STATUS 
MODULE_SHIPPING_DPD_TAX_CLASS 
MODULE_SHIPPING_DP_TAX_CLASS 

我只希望得到的结果与

MODULE_SHIPPING_DP_foobar 

我DIND没办法。

回答

2

由于下划线_就像%除非你只认准一个字符(cf documentation)

您需要通过之前,像这样使用\逃脱字符:

WHERE configuration_key LIKE 'MODULE\_SHIPPING\_DP\_%' 
+0

我该如何解决它以确定MODULE_SHIPPING_DPD_和MODULE_SHIPPING_DP_? – user1286819 2013-04-10 18:08:06

+0

@ user1286819我用正确的查询编辑我的答案试试 – DessDess 2013-04-10 18:09:28

+0

非常感谢。有用。 – user1286819 2013-04-10 18:20:49

1

_也是一个通配符,匹配一个字符。所以你需要逃避它。

WHERE configuration_key LIKE 'MODULE\_SHIPPING\_DP\_%'