27,579
社区成员
发帖
与我相关
我的任务
分享
CREATE FUNCTION MyCode
(
@num AS INT
)
RETURNS VARCHAR(20)
AS
BEGIN
DECLARE @Code VARCHAR(20),
@n INT,
@c CHAR(1)
IF(@num<99)
SET @Code=@num
ELSE
SELECT @n=(@num-99)/27+1;
SELECT @c = CASE (@num -99)%26
WHEN 1 THEN 'A'
WHEN 2 THEN 'B'
WHEN 3 THEN 'C'
WHEN 4 THEN 'D'
WHEN 5 THEN 'E'
WHEN 6 THEN 'F'
WHEN 7 THEN 'G'
WHEN 8 THEN 'H'
WHEN 9 THEN 'I'
WHEN 10 THEN 'J'
WHEN 11 THEN 'K'
WHEN 12 THEN 'L'
WHEN 13 THEN 'M'
WHEN 14 THEN 'N'
WHEN 15 THEN 'O'
WHEN 16 THEN 'P'
WHEN 17 THEN 'Q'
WHEN 18 THEN 'R'
WHEN 19 THEN 'S'
WHEN 20 THEN 'T'
WHEN 21 THEN 'U'
WHEN 22 THEN 'V'
WHEN 23 THEN 'W'
WHEN 24 THEN 'X'
WHEN 25 THEN 'Y'
WHEN 0 THEN 'Z'
END
IF(@n<=9)
SET @Code=CONVERT (VARCHAR(20),@n)+@c
RETURN @Code
END
SELECT dbo.myCode(126)
--------------------
2A
(1 行受影响)