«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как преобразовать весь текст верхнего регистра в соответствующий случай в SQL Server при обработке неанглийских изменений в характере и пространстве?

Как преобразовать весь текст верхнего регистра в соответствующий случай в SQL Server при обработке неанглийских изменений в характере и пространстве?

Опубликовано в 2025-04-14
Просматривать:876

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

расширенная функция SQL Server для правильного преобразования случая

]

эта статья подробно описывает надежную функцию SQL Server, предназначенную для преобразования прописного текста в правильный случай при обращении к сложностям, таким как неанглийские символы и различные пробелы. Функция предлагает несколько ключевых преимуществ:

    ]
  • обрабатывает вариации пробела: ] правильно обрабатывает несколько пространств и различных матча.
  • поддерживает неанглийские алфавиты: точно обрабатывает текст, содержащий символы из алфавитов за пределами английского языка. ]
  • поддерживает строчные слова: сохраняет любые существующие строчные слова в входной строке.
  • совместимость версии: функции в разных версиях SQL Server. ]
  • настраиваемые пробелы: определение пробела настраивается, что позволяет приспособить обработку. ]
  • ]

реализация функции:

создать функцию topropercase (@string varchar (255)) возвращает varchar (255) КАК НАЧИНАТЬ Объявить @i int; - Индекс Объявить @l int; - Длина ввода Объявить @c nchar (1); - текущий персонаж Объявить @f int; - Флаг первой буквы (1/0) Объявить @o varchar (255); - Вывод строка Объявить @w varchar (10); - Материалы Установить @W = '[' char (13) char (10) char (9) char (160) ''] '; Установить @i = 1; Set @l = len (@String); Установить @f = 1; SET @O = ''; Пока @i 0 НАЧИНАТЬ Установить @f = 1; SET @O = @O @C; КОНЕЦ ЕЩЕ НАЧИНАТЬ Если @f = 1 НАЧИНАТЬ SET @O = @O UPPER (@C); Установить @f = 0; КОНЕЦ ЕЩЕ SET @O = @O Lower (@C); КОНЕЦ Установить @i = @i 1; КОНЕЦ Вернуть @o; КОНЕЦ;
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