首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过忽略非字母和非数字来删除重复的记录。

通过忽略非字母和非数字来删除重复的记录。
EN

Stack Overflow用户
提问于 2014-12-27 11:08:37
回答 3查看 71关注 0票数 3

我正在尝试创建一个只剩下"yahoo“的SQL查询,并在下面的dataset中删除其他查询。此数据集是InnoDB表的一部分。

代码语言:javascript
复制
yahoo/finance

yahoo.finance

yahoo. finance

yahoo-finance

yahoo+finance

yahoo finance

yahoo .finance

yahoo . finance

yahoo - finance

yahoo + finance

我试图编写一个通过忽略这些字符( /.,+-‘)来删除重复项的SQL函数。但是我失败了,我很感激任何帮助。谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-27 11:16:06

试试这个:

代码语言:javascript
复制
SELECT DISTINCT REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(columnA, '/', ' '), '.', ' '), ',', ' '), '+', ' '), '-', ' '), '  ', ' '), '  ', ' ')
FROM tableA;
票数 1
EN

Stack Overflow用户

发布于 2014-12-27 11:14:44

您可能想考虑使用带有reg模式的LIKE

也许是where条款,类似于:

代码语言:javascript
复制
... WHERE Field LIKE 'yahoo[. -+]finance'

http://msdn.microsoft.com/en-us/library/ms179859.aspx

票数 1
EN

Stack Overflow用户

发布于 2014-12-27 11:25:32

试试这段代码,

代码语言:javascript
复制
SELECT * FROM table WHERE column REGEXP '^[A-Za-z ]+$'

以上代码将只匹配字母和空格。

若要删除其他条目,请尝试以下代码,

代码语言:javascript
复制
DELETE FROM table WHERE column NOT REGEXP '^[A-Za-z ]+$';
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27666660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档