1
我有其中值之一是由UDF返回的查詢:如何在查詢調用的UDF中使用靜態成員?
select name,coord,convertCoord(coord) from testTable;
convertCoord()
使用Regex
和MatchCollection
對象返回其值:
Dim re As New RegExp
Dim mtch As Match
Dim matches As MatchCollection
Function convertCoord(str As String) As String
re.Pattern = "(find|this)pattern"
Set matches = re.Execute(str)
If matches.Count > 0 Then
Set mtch = matches(1)
convertCoord = mtch.Value
Else
convertCoord = ""
End If
End Function
我試圖加快查詢,我想知道是否有辦法讓re
,mtch
和matches
的一個實例可以通過每次調用convertCoord()
來引用。如果我理解正確,查詢中的每個結果行都會調用convertCoord()
,這會重複構造和破壞所有對象,並且所有這些對象創建都會減慢查詢速度。
或者它們已經是靜態的,因此只構造一次,因爲我已經聲明它們不在函數中?