Create PROC [dbo].[sp_Test1]
(
@Number VarChar(10),
@Result Int OutPut
)
As
set nocount on
BEGIN
---定义变量------------------------------------------------
Declare @Sum Int
-----------------------------------------------------------
---初始变量------------------------------------------------
-----------------------------------------------------------
Set @Result = 0
Set @Number = LTrim(RTrim(@Number))
If Isnull(@Number, '') = '' Return
Set @Sum = Cast(SubString(@Number, 1, 1) as Int) +
Cast(SubString(@Number, 2, 1) as Int)+
Cast(SubString(@Number, 3, 1) as Int)+
Cast(SubString(@Number, 4, 1) as Int)+
Cast(SubString(@Number, 5, 1) as Int)+
Cast(SubString(@Number, 6, 1) as Int)+
Cast(SubString(@Number, 7, 1) as Int)+
Cast(SubString(@Number, 8, 1) as Int)
Set @Result = Cast(Right(Cast(@Sum as VarChar), 1) as Int)
Return @Result
End
DECLARE @Number VarChar(10)
DECLARE @Result int
EXEC [sp_OrderInfoMakeCheckDigit] '420',@Result output
select @Result
本文介绍了一个使用SQL存储过程实现的校验码生成方法。该存储过程接受一个包含数字的字符串作为输入,并通过将每个字符转换为整数并求和的方式计算总和,最终返回总和的个位数作为校验码。此方法适用于需要简单校验码的场景。
4909

被折叠的 条评论
为什么被折叠?



