"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحويل جميع النصوص الكبيرة إلى الحالة المناسبة في SQL Server أثناء التعامل مع الأحرف غير الإنجليزية والمساحة؟

كيفية تحويل جميع النصوص الكبيرة إلى الحالة المناسبة في SQL Server أثناء التعامل مع الأحرف غير الإنجليزية والمساحة؟

نشر في 2025-04-14
تصفح:814

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

وظيفة خادم SQL المتقدمة لتحويل الحالة الصحيح

تفاصيل هذه المقالة وظيفة خادم SQL قوية مصممة لتحويل نص كبير إلى الحالة المناسبة أثناء معالجة التعقيدات مثل الأحرف غير الإنجليزية والمساحة البيضاء المتغيرة. توفر الوظيفة العديد من المزايا الرئيسية:

  • يتعامل مع اختلافات المساحة البيضاء: يعالج بشكل صحيح مساحات متعددة وأحرف مسافة بيضاء مختلفة (بما في ذلك فترات الأسطر ، وعلامات التبويب ، والمساحات غير المتجددة).
  • يدعم الحروف الهجائية غير الإنجليزية: يعالج بدقة نصًا يحتوي على أحرف من الحروف الحرارية وراء اللغة الإنجليزية.
  • يحافظ على كلمات صغيرة: يحافظ على أي كلمات صغيرة موجودة داخل سلسلة الإدخال.
  • توافق الإصدار: وظائف عبر إصدارات خادم 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  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;

مثال الاستخدام:

SELECT dbo.ToProperCase('ALL UPPER CASE and    SOME lower ÄÄ ÖÖ ÜÜ ÉÉ ØØ ĈĈ ÆÆ');

مثال الإخراج:

كل الحالات العلوية وبعضها السفلي ää Öö ü éé Øø cc æ

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3