Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menukar Semua Teks Huruf Besar kepada Huruf Betul dalam Pelayan SQL Semasa Mengendalikan Aksara Bukan Bahasa Inggeris dan Variasi Ruang Putih?

Bagaimanakah Saya Boleh Menukar Semua Teks Huruf Besar kepada Huruf Betul dalam Pelayan SQL Semasa Mengendalikan Aksara Bukan Bahasa Inggeris dan Variasi Ruang Putih?

Susan Sarandon
Lepaskan: 2025-01-10 07:46:46
asal
556 orang telah melayarinya

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

Fungsi Pelayan SQL Lanjutan untuk Penukaran Kes Betul

Artikel ini memperincikan fungsi SQL Server yang mantap yang direka untuk menukar teks huruf besar kepada huruf besar yang betul sambil menangani kerumitan seperti aksara bukan bahasa Inggeris dan ruang kosong yang berbeza-beza. Fungsi ini menawarkan beberapa kelebihan utama:

  • Mengendalikan Variasi Ruang Putih: Mengendalikan berbilang ruang dan pelbagai aksara ruang putih dengan betul (termasuk pemisah baris, tab dan ruang tanpa putus).
  • Menyokong Abjad Bukan Bahasa Inggeris: Memproses teks yang mengandungi aksara daripada abjad di luar Bahasa Inggeris dengan tepat.
  • Mengekalkan Perkataan Huruf Kecil: Mengekalkan sebarang perkataan huruf kecil sedia ada dalam rentetan input.
  • Keserasian Versi: Berfungsi merentas versi SQL Server yang berbeza.
  • Ruang Putih Boleh Disesuaikan: Takrif ruang putih boleh dikonfigurasikan, membenarkan pengendalian yang disesuaikan.

Pelaksanaan Fungsi:

<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>
Salin selepas log masuk

Contoh Penggunaan:

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

Contoh Output:

Semua Huruf Besar dan Beberapa huruf bawah Ää Öö Üü Éé Øø Cc Ææ

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Semua Teks Huruf Besar kepada Huruf Betul dalam Pelayan SQL Semasa Mengendalikan Aksara Bukan Bahasa Inggeris dan Variasi Ruang Putih?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan