Heim > Datenbank > MySQL-Tutorial > Wie kann ich in SQL Server den gesamten Text in Großbuchstaben in die richtige Groß-/Kleinschreibung umwandeln und gleichzeitig nicht-englische Zeichen und Leerzeichenvariationen verarbeiten?

Wie kann ich in SQL Server den gesamten Text in Großbuchstaben in die richtige Groß-/Kleinschreibung umwandeln und gleichzeitig nicht-englische Zeichen und Leerzeichenvariationen verarbeiten?

Susan Sarandon
Freigeben: 2025-01-10 07:46:46
Original
556 Leute haben es durchsucht

How Can I Convert All Uppercase Text to Proper Case in SQL Server While Handling Non-English Characters and Whitespace Variations?

Erweiterte SQL Server-Funktion für die korrekte Groß-/Kleinschreibung

In diesem Artikel wird eine robuste SQL Server-Funktion beschrieben, die dazu dient, Großbuchstaben in Großbuchstaben umzuwandeln und gleichzeitig Komplexitäten wie nicht-englische Zeichen und unterschiedliche Leerzeichen zu berücksichtigen. Die Funktion bietet mehrere entscheidende Vorteile:

  • Behandelt Leerzeichenvariationen: Behandelt mehrere Leerzeichen und verschiedene Leerzeichen (einschließlich Zeilenumbrüche, Tabulatoren und geschützte Leerzeichen) korrekt.
  • Unterstützt nicht-englische Alphabete: Verarbeitet Text, der Zeichen aus Alphabeten außerhalb des Englischen enthält, präzise.
  • Behält Kleinbuchstaben bei:Behält alle vorhandenen Kleinbuchstaben in der Eingabezeichenfolge bei.
  • Versionskompatibilität: Funktioniert über verschiedene SQL Server-Versionen hinweg.
  • Anpassbare Leerzeichen: Die Leerzeichendefinition ist konfigurierbar und ermöglicht eine maßgeschneiderte Handhabung.

Funktionsimplementierung:

<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>
Nach dem Login kopieren

Verwendungsbeispiel:

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

Beispielausgabe:

Alles in Großbuchstaben und einige in Kleinbuchstaben Ää Öö Üü Éé Øø Cc Ææ

Das obige ist der detaillierte Inhalt vonWie kann ich in SQL Server den gesamten Text in Großbuchstaben in die richtige Groß-/Kleinschreibung umwandeln und gleichzeitig nicht-englische Zeichen und Leerzeichenvariationen verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage