簡體   English   中英

選擇查詢以返回一列包含域名的所有行

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM