大寫字母或小寫字母轉換為數字A-->1,a-->1;B-->2,b-->2;C-->3,c-->3;...Z-->26,z-->26
如果非字母轉換為-1

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Insus.NET
-- Blog: https://insus.cnblogs.com
-- Create date: 2019-05-23
-- Update date: 2019-05-23
-- Description: 大寫字母或小寫字母轉換為數字A-->1,a-->1;B-->2,b-->2;C-->3,c-->3;...Z-->26,z-->26
-- 如果非字母轉換為-1
-- =============================================
CREATE FUNCTION [dbo].[svf_ConvertLetterToNumber]
(
@letter CHAR(1)
) RETURNS INT
AS
BEGIN
DECLARE @ascii INT = -1
IF LEN(ISNULL(@letter,'')) > 0
BEGIN
IF ASCII(@letter) % 65 + 1 <= 26
SET @ascii = ASCII(@letter) % 65+ 1
IF ASCII(@letter) % 97 + 1 <=26
SET @ascii = ASCII(@letter) % 97 + 1
END
RETURN @ascii
END
GO
Source Code
示範:
SELECT
[dbo].[svf_ConvertLetterToNumber]('A') AS [A],
[dbo].[svf_ConvertLetterToNumber]('a') AS [a],
[dbo].[svf_ConvertLetterToNumber]('B') AS [B],
[dbo].[svf_ConvertLetterToNumber]('b') AS [b],
[dbo].[svf_ConvertLetterToNumber]('C') AS [C],
[dbo].[svf_ConvertLetterToNumber]('c') AS [c],
[dbo].[svf_ConvertLetterToNumber]('Z') AS [Z],
[dbo].[svf_ConvertLetterToNumber]('z') AS [z],
[dbo].[svf_ConvertLetterToNumber]('@') AS [@],
[dbo].[svf_ConvertLetterToNumber]('$') AS [$]
GO
Source Code
關于找一找教程網
本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。
本站提供了軟體程式設計、網站開發技術、伺服器運維、人工智能等等IT技術文章,希望廣大程式員努力學習,讓我們用科技改變世界。
[大寫字母或小寫字母轉換為數字]http://www.zyiz.net/tech/detail-111889.html