Maison > base de données > tutoriel mysql > Comment puis-je convertir toutes les données en majuscules en casse appropriée dans SQL Server ?

Comment puis-je convertir toutes les données en majuscules en casse appropriée dans SQL Server ?

Patricia Arquette
Libérer: 2025-01-10 07:52:45
original
831 Les gens l'ont consulté

How Can I Convert All Uppercase Data to Proper Case in SQL Server?

Transformation des données en majuscules en casse appropriée dans SQL Server

Défi :

Vous travaillez avec une table SQL Server contenant des données entièrement en majuscules et vous avez besoin d'un moyen de les convertir en casse appropriée (également appelée casse du titre). Cet article fournit la solution.

Résolution :

La fonction SQL Server suivante convertit efficacement les mots majuscules séparés par des espaces en casse appropriée :

<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
      SET @f = 1;
    ELSE IF @f = 1
    BEGIN
      SET @o = @o + UPPER(@c);
      SET @f = 0;
    END
    ELSE
      SET @o = @o + LOWER(@c);
    SET @i = @i + 1;
  END;

  RETURN @o;
END;</code>
Copier après la connexion

Caractéristiques principales :

  • Convertit les mots entièrement en majuscules séparés par des espaces en casse appropriée.
  • Préserve la casse des mots minuscules.
  • Prend en charge les alphabets non anglais.
  • Fonctionne de manière cohérente sur les différentes versions de SQL Server.
  • Facilement adaptable à Unicode (NCHAR, NVARCHAR) et longueur de paramètre réglable.
  • Permet de personnaliser la définition des espaces.

Mise en œuvre :

Pour utiliser cette fonction, passez simplement votre texte en majuscule en argument :

<code class="language-sql">SELECT dbo.ToProperCase('ALL UPPER CASE and    SOME lower ÄÄ ÖÖ ÜÜ ÉÉ ØØ ĈĈ ÆÆ') AS ProperCaseText;</code>
Copier après la connexion

Sortie :

<code>ProperCaseText
-----------------------------------------------------------------
All Upper Case and      Some lower Ää Öö Üü Éé Øø Cc Ææ</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal