[英]Select query to return all rows where a column contains a domain name
我有一列存储URL的列,我想生成一个选择查询以拉回所有包含特定域名的URL。
存储的URL示例: http : //www.fox.com/files/apple.jpg,http : //mail.redfox.com/help/index.aspx,http : //apple.com/等
我知道您已经在想什么,只需使用LIKE。
我不能这样做的原因是: SELECT * WHERE Domains IS LIKE %fox.com%
它将在SELECT * WHERE Domains IS LIKE %fox.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可以执行某种我不熟悉的正则表达式魔术吗?
您可以同时为子域和裸域测试域名:
WHERE Domains IS LIKE '%.fox.com/%' OR Domain IS LIKE '%/fox.com/%'
当然,您可以使用REGEX( [\\/\\.]fox.com\\/
)进行操作,但是以后更容易记住/理解简单的SQL。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.