如何通过MySQL中的前两个和后两个字符搜索数据

时间:2012-12-01 22:29:32

标签: php mysql regex where

我正在使用包含1,000多种产品的大型数据库。每个产品都有一个SKU代码。我正在开发一个脚本,根据前两个和后两个字符删除某些产品。我想知道是否有一种快速方法可以使用MySQL删除它们。

有没有办法可以使用WHERE语句搜索以“XX”开头并以“XX”结尾的值?

如果没有,那么我不介意用优秀的PHP方式做这件事,我只是觉得MySQL方式更有效率。

非常感谢, 彼得

3 个答案:

答案 0 :(得分:2)

这是一个简单的删除声明

delete from products
where sku_code like 'XX%XX'

如果您想要以XX开头或以XX结尾的产品使用或条件

delete from products
where sku_code like 'XX%'
      or sku_code like '%XX'

请参阅SQL Fiddle进行测试。

答案 1 :(得分:1)

只需在where语句中使用LIKE子句,即

....
WHERE sku LIKE 'xx%' OR 
      sku LIKE '%xx'

答案 2 :(得分:1)

您可以使用LIKE运算符查找特定模式,并使用%表示通配符。

在您的情况下,您可以使用以下内容:

DELETE FROM Products
WHERE SKUCode LIKE 'XX%' OR SKUCode LIKE '%XX';

您可以阅读有关here的更多信息。