Я конвертирую большое приложение MS Access для работы почти полностью на SQL Server, чтобы повысить производительность, поскольку база данных Access устарела и чрезвычайно медленна.Поэтому я работаю над воссозданием функций VBA в функции SQL.SQL Server дает мне синтаксические ошибки повсюду, и я пытаюсь понять, почему, вот VBA:
Function AlphaNum(prodno As String)
Dim i As Long
If Len(prodno) = 0 Then Exit Function
For i = 1 To Len(prodno)
If Mid(prodno, i, 1) Like "[0-9a-z]" Then AlphaNum = AlphaNum & Mid(prodno, i, 1)
Next i
If IsNumeric(AlphaNum) Then
While Left(AlphaNum, 1) = "0"
AlphaNum = Mid(AlphaNum, 2)
Wend
End If
End Function
Я получил это далеко с SQL .. Я, конечно, не эксперт вэто тоже, есть идеи?
CREATE FUNCTION dbo.[NAL_AlphaNum]
(
@prodno varchar(10)
)
RETURNS VarChar(10)
BEGIN
DECLARE @counter INT,
@AlphaNum varchar(10)
SET @counter='1'
CASE WHEN Len(@prodno) = 0 THEN EXIT
WHILE @counter < Len(@prodno)
BEGIN
CASE WHEN Mid(@prodno, i, 1) LIKE '[0-9a-z]'
THEN @AlphaNum = @AlphaNum + Mid(@prodno, i, 1)
SET @counter = @counter + 1
END
CASE WHEN IsNumeric(@AlphaNum) THEN
WHILE Left(@AlphaNum, 1) = '0'
@AlphaNum = Mid(@AlphaNum, 2)
END
RETURN @AlphaNum
END;
Заранее спасибо.