经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
大写字母或小写字母转换为数字
来源:cnblogs  作者:Insus.NET  时间:2019/6/3 8:55:37  对本文有异议

大写字母或小写字母转换为数字A-->1,a-->1;B-->2,b-->2;C-->3,c-->3;...Z-->26,z-->26
 如果非字母转换为-1


 

  1. SET ANSI_NULLS ON
  2. GO
  3. SET QUOTED_IDENTIFIER ON
  4. GO
  5.  
  6. -- =============================================
  7. -- Author: Insus.NET
  8. -- Blog: https://insus.cnblogs.com
  9. -- Create date: 2019-05-23
  10. -- Update date: 2019-05-23
  11. -- Description: 大写字母或小写字母转换为数字A-->1,a-->1;B-->2,b-->2;C-->3,c-->3;...Z-->26,z-->26
  12. -- 如果非字母转换为-1
  13. -- =============================================
  14. CREATE FUNCTION [dbo].[svf_ConvertLetterToNumber]
  15. (
  16. @letter CHAR(1)
  17. ) RETURNS INT
  18. AS
  19. BEGIN
  20. DECLARE @ascii INT = -1
  21. IF LEN(ISNULL(@letter,'')) > 0
  22. BEGIN
  23. IF ASCII(@letter) % 65 + 1 <= 26
  24. SET @ascii = ASCII(@letter) % 65+ 1
  25.  
  26. IF ASCII(@letter) % 97 + 1 <=26
  27. SET @ascii = ASCII(@letter) % 97 + 1
  28. END
  29. RETURN @ascii
  30. END
  31. GO
Source Code

 

演示:

 

  1. SELECT
  2. [dbo].[svf_ConvertLetterToNumber]('A') AS [A],
  3. [dbo].[svf_ConvertLetterToNumber]('a') AS [a],
  4. [dbo].[svf_ConvertLetterToNumber]('B') AS [B],
  5. [dbo].[svf_ConvertLetterToNumber]('b') AS [b],
  6. [dbo].[svf_ConvertLetterToNumber]('C') AS [C],
  7. [dbo].[svf_ConvertLetterToNumber]('c') AS [c],
  8. [dbo].[svf_ConvertLetterToNumber]('Z') AS [Z],
  9. [dbo].[svf_ConvertLetterToNumber]('z') AS [z],
  10. [dbo].[svf_ConvertLetterToNumber]('@') AS [@],
  11. [dbo].[svf_ConvertLetterToNumber]('$') AS [$]
  12. GO
Source Code

 

原文链接:http://www.cnblogs.com/insus/p/10954054.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号