我正在尝试创建一个只剩下"yahoo“的SQL查询,并在下面的dataset中删除其他查询。此数据集是InnoDB表的一部分。
yahoo/finance
yahoo.finance
yahoo. finance
yahoo-finance
yahoo+finance
yahoo finance
yahoo .finance
yahoo . finance
yahoo - finance
yahoo + finance我试图编写一个通过忽略这些字符( /.,+-‘)来删除重复项的SQL函数。但是我失败了,我很感激任何帮助。谢谢!
发布于 2014-12-27 11:16:06
试试这个:
SELECT DISTINCT REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(columnA, '/', ' '), '.', ' '), ',', ' '), '+', ' '), '-', ' '), ' ', ' '), ' ', ' ')
FROM tableA;发布于 2014-12-27 11:14:44
您可能想考虑使用带有reg模式的LIKE。
也许是where条款,类似于:
... WHERE Field LIKE 'yahoo[. -+]finance'http://msdn.microsoft.com/en-us/library/ms179859.aspx
发布于 2014-12-27 11:25:32
试试这段代码,
SELECT * FROM table WHERE column REGEXP '^[A-Za-z ]+$'以上代码将只匹配字母和空格。
若要删除其他条目,请尝试以下代码,
DELETE FROM table WHERE column NOT REGEXP '^[A-Za-z ]+$';https://stackoverflow.com/questions/27666660
复制相似问题