-1

如何检测我@AE_LedgerAC的存储过程中的参数仅包含 6 个字符?如果它只包含 6 个字符,我想在前面添加此表中包含的详细信息BIN.BranchId

ALTER PROCEDURE [dbo].[AccountEntries]

    @AE_LedgerAC varchar(21)=null,
    @AE_Transaction_Ref varchar(50)=null,
    @AE_Detail nvarchar(50)=null,
AS
    DECLARE @NEW_LedgerAC varchar(21) = null

    IF(LEN(@AE_LedgerAC) = 6)
    BEGIN
        @NEW_LedgerAC = SELECT TOP 1 BIN.BranchId FROM BIN + @AE_LedgerAC
    ELSE
        @NEW_LedgerAC = @AE_LedgerAC

    INSERT INTO [AccountEntries](LedgerAC, Transaction_Ref, Detail)
    VALUES (@AE_LedgerAC, @AE_Transaction_Ref, @AE_Detail)  
4

2 回答 2

2

使用 LEN (string_expression)

IF(LEN(@AE_LedgerAC) = 6)
BEGIN

...
END
于 2013-02-22T09:21:07.227 回答
1

假设这是 MSSQL,请查看 Microsoft 的 MSDN 中的以下链接:

如果别的

一片空白

设置@local_variable

于 2013-02-22T09:27:17.663 回答