Неправильный синтаксис;Доступ к функции VBA для SQL Server - PullRequest
0 голосов
/ 25 июня 2018

Я конвертирую большое приложение 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;

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...