我正在尝试创建一个只留下“yahoo finance”的SQL查询,并删除以下数据集中的其他内容。该数据集是InnoDB表的一部分。
yahoo/finance
yahoo.finance
yahoo. finance
yahoo-finance
yahoo+finance
yahoo finance
yahoo .finance
yahoo . finance
yahoo - finance
yahoo + finance
我尝试编写一个SQL函数,通过忽略这些字符来删除重复项:/。,+ - '。但是我失败了,我感谢任何帮助。谢谢!
答案 0 :(得分:1)
您可能需要考虑将LIKE
与reg-ex模式一起使用。
也许是where子句:
... WHERE Field LIKE 'yahoo[. -+]finance'
答案 1 :(得分:1)
试试这个:
SELECT DISTINCT REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(columnA, '/', ' '), '.', ' '), ',', ' '), '+', ' '), '-', ' '), ' ', ' '), ' ', ' ')
FROM tableA;
答案 2 :(得分:1)
试试这段代码,
SELECT * FROM table WHERE column REGEXP '^[A-Za-z ]+$'
以上代码仅匹配字母和空格。
要删除其他条目,请尝试以下代码
DELETE FROM table WHERE column NOT REGEXP '^[A-Za-z ]+$';