t-sql中的正規表示式
將這個udf儲存到你的資料庫中,並確定有授權來執行它。當然,你也得確保執行它的人有執行sp_oa***xx類擴充套件儲存過程的許可權。
這個函式已確保正常執行,並且即便是和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 ] ... 乙個十字元的字串
-- 獲得字串長度
set @intlength = len(@vchsourcestring)
-- 設定完整的正規表示式
set @vchregularexpression = '[a-za-z ]'
-- 是否有任何特殊字元
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.'
endprint '---'
-- 獲得字串長度
set @intlength = len(@vchsourcestring2)
-- 設定完整的正規表示式
set @vchregularexpression = '[a-za-z ]'
-- 是否有任何特殊字元
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.'
endgo
the results for this example would be:
本例的結果應該是:
test one this is a test!!
special characters found.
---test two this is a test
no special characters.
結論:正如你所見,這是乙個簡單技巧,在特定的場合得到了非常有用的結果。你作為乙個t_sql開發人員,可以在正規表示式庫vbscript.regexp中使用和擴充套件這個技巧。
sql正規表示式 SQL中的正規表示式
sql正規表示式 sql中的正規表示式 sql的查詢語句中,有時會需要引進正規表示式為其複雜搜尋指定模式。下面給出一些 regexp 在mysql 語句中應用 非全部 1 匹配字串的開始部分。mysql select fo nfo regexp fo 0mysql select fofo regex...
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...