2012-11-08 88 views
0

我需要檢查一個變量是否值10.00到10.09。我怎麼能通過正則表達式來做到這一點?TSQL簡單正則表達式匹配

IF SomeRegExFunction(@var, '10.0*') 
    print 'It worked' 

有沒有辦法做到這一點?

謝謝

+0

應該'10.0'比賽?它當然在數學上與'10.00' –

+0

是一樣的。我正在處理一些項目的一些代碼,這些字符串就像這樣存儲。 –

回答

2

您可以使用以下方法:

declare @var as varchar(10) 
set @var = '11.07' 

if @var like '10.0[0-9]' 
    print 'It worked' 
else 
    print 'not a match' 

SQL Fiddle with Demo

+0

真棒,這正是我想要的。非常感謝! –

+0

不符合'10.0',雖然你說你想要。 –

+0

@MartinSmith我很抱歉,我在那個評論中犯了一個錯誤。我的意思是10.0不應該匹配。我正在想別的東西。對於那個很抱歉。 –

0

PATINDEX怎麼樣。我認爲你正在尋找這樣的事情。

+0

我不認爲這是我需要的。我不必從表達式中找到字符串 –

1

SQL Server的like作爲一個簡單的表達式語法:

if @var like '10.0[0-9]' or @var = '10.0' 
    print 'Hello World!' 
+0

是的,謝謝。這有助於 –