Fonction SQL Server avancée pour une conversion correcte de la casse
Cet article détaille une fonction SQL Server robuste conçue pour convertir le texte en majuscules en casse appropriée tout en traitant des complexités telles que les caractères non anglais et les espaces variables. La fonction offre plusieurs avantages clés :
Implémentation des fonctions :
<code class="language-sql">CREATE FUNCTION ToProperCase(@string VARCHAR(255)) RETURNS VARCHAR(255) AS BEGIN DECLARE @i INT; -- Index DECLARE @l INT; -- Input Length DECLARE @c NCHAR(1); -- Current Character DECLARE @f INT; -- First Letter Flag (1/0) DECLARE @o VARCHAR(255); -- Output String DECLARE @w VARCHAR(10); -- Whitespace Characters SET @w = '[' + CHAR(13) + CHAR(10) + CHAR(9) + CHAR(160) + ' ' + ']'; SET @i = 1; SET @l = LEN(@string); SET @f = 1; SET @o = ''; WHILE @i <= @l BEGIN SET @c = SUBSTRING(@string, @i, 1); IF PATINDEX(@w, @c) > 0 BEGIN SET @f = 1; SET @o = @o + @c; END ELSE BEGIN IF @f = 1 BEGIN SET @o = @o + UPPER(@c); SET @f = 0; END ELSE SET @o = @o + LOWER(@c); END SET @i = @i + 1; END RETURN @o; END;</code>
Exemple d'utilisation :
<code class="language-sql">SELECT dbo.ToProperCase('ALL UPPER CASE and SOME lower ÄÄ ÖÖ ÜÜ ÉÉ ØØ ĈĈ ÆÆ');</code>
Exemple de sortie :
Toutes les majuscules et certaines minuscules Ää Öö Üü Éé Øø Cc Ææ
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!