2012-11-18 69 views
2

在SQL Server(2012年)我有數值的字段。該字段的類型爲int。 假設db中的字段包含123456789。 我在尋找這樣的:SQL Server的正則表達式

select * from table1 where field1 like '[1-9]{0,2}3456789' 

我也曾嘗試'^[1-9]{0,2}$3456789'

兩者都不能正常工作。我究竟做錯了什麼?

+0

哪個版本?不支持 –

+0

的SQL Server 2012 –

+0

正則表達式爲整數仍然可以用戶正則表達式搜索在SQL –

回答

6

SQL服務器本身並不支持正則表達式。你需要爲此安裝一個CLR程序集。

LIKE模式語法不支持量詞所以不使用CLR的唯一選擇是擴大它。

where field1 like '3456789' 
or field1 like '[1-9]3456789' 
or field1 like '[1-9][1-9]3456789' 
+0

文本「不支持量詞」 ......這樣的恥辱:)謝謝你的幫助。 –

+0

它支持^ $嗎? –

+0

使用「or field1 like」幾次會傷害性能? –