2012-11-08 58 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

是的,谢谢。这有助于 –