如何在sql中的AbCdEfG中转换像ABCDEFG这样的字符串

时间:2017-02-23 15:57:29

标签: sql

我想要o / p的select语句,以便它以小写形式显示给定大写字符串的替代字母。

例如,如果输入字符串是:

  

ABCDEFG

然后输出应该是:

  

ABCDEFG

1 个答案:

答案 0 :(得分:1)

您可以创建一个包含简单循环的函数,该循环在您的字符串上执行上/下外壳。

例如在SQL Server中:

CREATE FUNCTION [dbo].[AlternateCase]
(
    @input_string nvarchar(max)
)
returns nvarchar(max)
as
begin
    declare @counter int
    declare @result nvarchar (max)

    set @counter = 0
    set @result  = ''

    while @counter <= LEN(@input_string)
        begin
            if  @counter % 2 = 0
                set @result = @result + lower(substring(@input_string, @counter, 1))
            else
                set @result = @result + upper(substring(@input_string, @counter, 1))

            set @counter = @counter + 1
        end
    return @result
end

现在您可以在select语句中使用新函数:

select [dbo].[AlternateCase]('ABCDEFG')

并且此选择将返回:

  

ABCDEFG