我有一张14,000,000(1400万)行的表格。我刚刚意识到我可以通过删除特定字段的第一个和第二个字符为23,24,25,54,55或56的行来显着减少此数字。
我正在思考以下几点:
DELETE FROM tablename WHERE Substring of field in column LIKE 24 OR 25 OR 26.... Etc
谢谢,
LazyTotoro: - )
答案 0 :(得分:3)
如果您确定要查找哪些字符串,则可以执行以下操作:
delete
from tablename
where left(fieldname,2) in ('23','24','25','54','55','56')
left
提供了一个方便的解决方案,因为您正在寻找前2个字符。如果您希望在两端之间获得子字符串,则可以使用substring
语法substring(fieldname, startingposition, length)
。
答案 1 :(得分:1)
我认为你可以使用SUBSTRING()函数。
http://www.w3resource.com/mysql/string-functions/mysql-substring-function.php
例如,如果你使用SUBTRING(str,1,2),它将从字符串的第一个位置开始返回2个字符,所以如果你有SUBSTRING(" 123456",1,2) ,它将返回" 12"。
所以你会:
DELETE FROM tablename WHERE SUBSTRING(field, 1, 2) IN (24,25,26)
答案 2 :(得分:0)
MySQL提供SUBSTR
功能。