选择查询以返回列中包含域名的所有行

选择查询以返回列中包含域名的所有行

问题描述:

我有一列存储URL,我想生成一个选择查询来撤回包含特定域名的所有URL。网址选择查询以返回列中包含域名的所有行

实例存储: http://www.fox.com/files/apple.jpghttp://mail.redfox.com/help/index.aspxhttp://apple.com/

我知道你已经在想,只是使用等。

我不能的原因是:SELECT * WHERE Domains IS LIKE %fox.com%它将返回http://www.fox.com/files/apple.jpg以及http://mail.redfox.com/help/index.aspx(因为它们都包含fox.com)。

我不是所有的人都懂你的基本查询SQL,SQL Server可以做一些我不熟悉的正则表达式魔法?

+0

那么为什么你不使用:SELECT * WHERE Domains IS LIKE%www.fox.com% – Vikram 2012-02-27 14:42:57

+0

我想说你的第一步不是理解SQL或RegExp,它是编码你真正想要测试/搜索的东西。除非你要求我们给你一个算法吗? – MatBailie 2012-02-27 14:49:30

你可以两个子域测试域名和域:

WHERE Domains IS LIKE '%.fox.com/%' OR Domain IS LIKE '%/fox.com/%' 

当然,你可以用正则表达式([\/\.]fox.com\/)做到这一点,但简单的SQL可能会更容易记住/后来明白上。