mssql sqlserver 使用sql脚本将小写字母转换为大写字母的方法分享


摘要:
下文讲述在sqlserver中实现小写字母转换为大写字母的方法分享,如下所示:
实验环境:sql server 2008 R2


在平常的开发中,我们经常需要将小写字母转换为大写字母,其它非英文字母转换为空字符

实现思路:
获取字符的ASCII码,如果为小写字母,则转换为对应大写字母的ASCII编码
如果通过ASCII检测到本身为大写字母,则保持字母不变,直接返回

例:
为实现此功能,我们需先定义一个sql函数:

      CREATE FUNCTION [dbo].[fn_toUpper] 
      (
        @Tmp nCHAR(1)
     ) RETURNS nCHAR(1)
   AS
     BEGIN
    DECLARE @UppercaseTmp nCHAR(1) = ''   
       
    IF LEN(ISNULL(@Tmp,'')) > 0 
    BEGIN
        IF ASCII(@Tmp) % 97 + 1 <= 26
            SET @UppercaseTmp = CHAR(ASCII(@Tmp) - (97 - 65)) 

        IF ASCII(@Tmp) % 65 + 1 <= 26
            SET @ UppercaseTmp = @Tmp
    END      
    RETURN @UppercaseTmp
END
GO