52 lines
3.2 KiB
Transact-SQL
52 lines
3.2 KiB
Transact-SQL
USE [site_fuchs]
|
|
GO
|
|
/****** Object: UserDefinedFunction [dbo].[ott_b26] Script Date: 02.12.2020 21:05:05 ******/
|
|
DROP FUNCTION [dbo].[ott_b26]
|
|
GO
|
|
/****** Object: UserDefinedFunction [dbo].[ott_b26] Script Date: 02.12.2020 21:05:06 ******/
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date, ,>
|
|
-- Description: <Description, ,>
|
|
-- =============================================
|
|
CREATE FUNCTION [dbo].[ott_b26]
|
|
(
|
|
@number int
|
|
)
|
|
RETURNS varchar(10)
|
|
AS
|
|
BEGIN
|
|
DECLARE @RET varchar(10)
|
|
|
|
/*
|
|
SELECT
|
|
*,
|
|
LetterCode =
|
|
Coalesce((SELECT Char(65 + (N.Num - 475255) / 456976 % 26) WHERE N.Num >= 475255), '')
|
|
+ Coalesce((SELECT Char(65 + (N.Num - 18279) / 17576 % 26) WHERE N.Num >= 18279), '')
|
|
+ Coalesce((SELECT Char(65 + (N.Num - 703) / 676 % 26) WHERE N.Num >= 703), '')
|
|
+ Coalesce((SELECT Char(65 + (N.Num - 27) / 26 % 26) WHERE N.Num >= 27), '')
|
|
+ (SELECT Char(65 + (N.Num - 1) % 26))
|
|
FROM (VALUES(18931)) as N(Num)
|
|
ORDER BY N.Num
|
|
*/
|
|
|
|
SET @RET = LOWER(
|
|
Coalesce((SELECT Char(65 + (@number - 475255) / 456976 % 26) WHERE @number >= 475255), '')
|
|
+ Coalesce((SELECT Char(65 + (@number - 18279) / 17576 % 26) WHERE @number >= 18279), '')
|
|
+ Coalesce((SELECT Char(65 + (@number - 703) / 676 % 26) WHERE @number >= 703), '')
|
|
+ Coalesce((SELECT Char(65 + (@number - 27) / 26 % 26) WHERE @number >= 27), '')
|
|
+ (SELECT Char(65 + (@number - 1) % 26))
|
|
);
|
|
|
|
RETURN @RET;
|
|
|
|
END
|
|
GO
|
|
ALTER AUTHORIZATION ON [dbo].[ott_b26] TO SCHEMA OWNER
|
|
GO
|