Existe uma consulta SQL para substituir os caracteres pares por maiúsculas e os caracteres restantes por minúsculas em uma string?
Por exemplo, se a string é 'sagar' o resultado deve ser como
sAgAr
Qual seria a solução adequada para isso?
Não resisto em responder. Isso parece natural para um CTE recursivo:
with t as (
select 'abcdef' as str
),
cte as (
select cast(lower(str) as varchar(max)) as str, 1 as pos
from t
union all
select stuff(str, pos + 1, 1,
(case when pos % 2 = 1 then upper(substring(str, pos + 1, 1))
else lower(substring(str, pos + 1, 1))
end)
) as str, 1 + pos
from cte
where pos < len(str)
)
select top (1) *
from cte
order by pos desc;
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras