在Sql语句中使用正则表达式查找字符(二)

日期: 2009-04-09 作者:SamLin 来源:TechTarget中国 英文

  下面是一个简单的测试sql语句,可以直接在查询分析器中运行。


Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
–>DECLARE @intLength AS INTEGER
DECLARE @vchRegularExpression AS VARCHAR(50)
DECLARE @vchSourceString as VARCHAR(50)
DECLARE @vchSourceString2 as VARCHAR(50)
DECLARE @bitHasNoSpecialCharacters as BIT
— 初始化变量
SET @vchSourceString = ‘Test one This is a test!!’
SET @vchSourceString2 = ‘Test two This is a test’
— 我们的正则表达式应该类似于
— [a-zA-Z ]{}
— 如: [a-zA-Z ]{10}   一个十字符的字符串
— 获得字符串长度
SET @intLength = LEN(@vchSourceString)
— 设置完整的正则表达式
SET @vchRegularExpression = ‘[a-zA-Z ]{‘ + CAST(@intLength as varchar) + ‘}’
— 是否有任何特殊字符
SET @bitHasNoSpecialCharacters = dbo.find_regular_expression(@vchSourceString, @vchRegularExpression,0)
PRINT @vchSourceString
IF @bitHasNoSpecialCharacters = 1 BEGIN
PRINT ‘No special characters.’
END ELSE BEGIN
PRINT ‘Special characters found.’
END
PRINT ‘**************’
— 获得字符串长度
SET @intLength = LEN(@vchSourceString2)
— 设置完整的正则表达式
SET @vchRegularExpression = ‘[a-zA-Z ]{‘ + CAST(@intLength as varchar) + ‘}’
— 是否有任何特殊字符
SET @bitHasNoSpecialCharacters = dbo.find_regular_expression(@vchSourceString2, @vchRegularExpression,0)
PRINT @vchSourceString2
IF @bitHasNoSpecialCharacters = 1 BEGIN
PRINT ‘No special characters.’
END ELSE BEGIN
PRINT ‘Special characters found.’
END
GO
最后得出的查询语句如下:
select * FROM TaskDeploy  where  1=1  And dbo.find_regular_expression(Participants,’bsamlinb’,0) = 1 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

SamLin
SamLin

相关推荐