Heim >Datenbank >MySQL-Tutorial >Wie kann ich in SQL Server alle Daten in Großbuchstaben in die richtige Groß-/Kleinschreibung umwandeln?

Wie kann ich in SQL Server alle Daten in Großbuchstaben in die richtige Groß-/Kleinschreibung umwandeln?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-10 07:52:45827Durchsuche

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

Umwandeln von Daten in Großbuchstaben in die richtige Groß-/Kleinschreibung in SQL Server

Herausforderung:

Sie arbeiten mit einer SQL Server-Tabelle, die Daten vollständig in Großbuchstaben enthält, und benötigen eine Möglichkeit, diese in die richtige Groß-/Kleinschreibung umzuwandeln (auch als Titelschreibweise bezeichnet). Dieser Artikel bietet die Lösung.

Auflösung:

Die folgende SQL Server-Funktion wandelt durch Leerzeichen getrennte Großbuchstaben effizient in die richtige Groß-/Kleinschreibung um:

<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>

Hauptmerkmale:

  • Konvertiert durch Leerzeichen getrennte Wörter, die ausschließlich in Großbuchstaben geschrieben sind, in die richtige Groß- und Kleinschreibung.
  • Behält die Groß-/Kleinschreibung von Wörtern in Kleinbuchstaben bei.
  • Unterstützt nicht-englische Alphabete.
  • Funktioniert konsistent über verschiedene SQL Server-Versionen hinweg.
  • Einfache Anpassung an Unicode (NCHAR, NVARCHAR) und einstellbare Parameterlänge.
  • Ermöglicht die Anpassung der Leerraumdefinition.

Umsetzung:

Um diese Funktion zu verwenden, übergeben Sie einfach Ihren Text in Großbuchstaben als Argument:

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

Ausgabe:

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

Das obige ist der detaillierte Inhalt vonWie kann ich in SQL Server alle Daten in Großbuchstaben in die richtige Groß-/Kleinschreibung umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn