2013-09-29 42 views
1

我有一個允許的格式表,我需要能夠查找基於字符串。一些示例格式是:如何匹配SQL Server中的複雜模式?

  • ^^ testdomain.com
  • ^.testdomain.com
  • ^^ QWERTY .testdomain.com

我需要返回一個或多個匹配。基於樣本的輸入行:

  • device.name.testdomain.com將返回第一和第二格式
  • johnqwertysmith.testdomain.com將返回所有格式

不幸的是字符「^」固定爲通配符,這是一種約束我不能改變。

我希望或許正則表達式可以將我保存在這裏,也許使用格式作爲模式並將其與輸入進行比較。正則表達式不是我以前用過的東西,所以我不確定它的功能。如果沒有,那麼有沒有其他的方法來執行這種查找?

回答

1

像這樣:

SELECT * 
FROM yourTable 
WHERE @INPUT LIKE REPLACE(yourTable.savedFormat, '^', '%') 

這會不會讓你利用你的savedFormat列的任何指數法,但我懷疑這就是絕望,無論如何,這些要求。