这是SQL Server 2008查询。地址验证的正则表达式
我在寻找记录家庭地址的地方以'#'开头,然后是数字,然后是没有空格的字母。
这里的表中的地址的一个例子
Create table dbo.temp(Address Varchar(200))
INSERT into dbo.temp VALUES('#1000munoz River St')
INSERT into dbo.temp VALUES('#656ave. Whitehall')
INSERT into dbo.temp VALUES('#12 avenue')
INSERT into dbo.temp VALUES('13 Main St')
我要挑只
#1000munoz River St
#656ave. Whitehall
即第1个字符总是“#”,其次是1个或多个数字,其次是1或更多字母。我不想号码和字母之间的空间,如记录编号3.
我试图
Select *
from dbo.temp
where charindex('#', Address) = 1
and Address like '[#][0-9]^[:b][A-Za-z]%'
这不返回任何值,我不知道为什么。
任何人都可以指向正确的方向吗?
感谢 卢比
SQL服务器本身并不支持正则表达式。 'like'模式匹配更受限制。 –