[英]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.