2
给定一个数字,您如何将其转换为字母?将数字转换为字母
给定一个数字,您如何将其转换为字母?将数字转换为字母
您可以将现有的逻辑只是转换成T-SQL标量函数,就像这样:
CREATE FUNCTION dbo.fnColumnNameFromIndex(@i int)
RETURNS varchar(3)
AS
BEGIN
DECLARE @dividend int, @letters varchar(3), @modulo int
SET @dividend = @i
SET @letters = ''
WHILE @dividend > 0
BEGIN
SET @modulo = (@dividend - 1) % 26
SET @letters = CHAR(65 + @modulo) + @letters
SET @dividend = CONVERT(int, (@dividend - @modulo)/26)
END
RETURN @letters;
END
GO
这样称呼它:
SELECT dbo.fnColumnNameFromIndex(2000)
...承认没有设置逻辑,但我不认为这是一个设置逻辑问题。