Iniziali maiuscole
Ecco come trasformare una frase con “Iniziali maiuscole” in SQL Server (T-SQL):
Per prima cosa è opportuno creare una funziona che fa allo scopo; per fare questo usiamo lo stack XML:
CREATE FUNCTION CapitalLetter
(
@TheSentence NVARCHAR(MAX)
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
DECLARE @Result NVARCHAR(MAX); SET @Result = stuff(( select ' '+upper(left(T3.V, 1))+lower(stuff(T3.V, 1, 1, '')) from (select cast(replace((select @TheSentence as '*' for xml path('')), ' ', '<X/>') as xml).query('.')) as T1(X) cross apply T1.X.nodes('text()') as T2(X) cross apply (select T2.X.value('.', 'varchar(MAX)')) as T3(V) for xml path(''), type ).value('text()[1]', 'varchar(MAX)'), 1, 1, ''); RETURN @Result;
END
GO
Questa funzione va poi chiamata così:
SELECT dbo.CapitalLetter('QUESTA FRASE DOVREBBE ESSERE CONVERTITA')
Per dare come risultato un bel “Questa Frase Dovrebbe Essere Covertita”