首页 >数据库 >mysql教程 >如何在 SQL Server 中将所有大写值转换为正确的大小写?

如何在 SQL Server 中将所有大写值转换为正确的大小写?

Linda Hamilton
Linda Hamilton原创
2025-01-10 10:08:42228浏览

How to Convert All Uppercase Values to Proper Case in SQL Server?

SQL Server:将大写数据转换为正确的大小写

在 SQL Server 中管理完全以大写形式导入的数据可能很麻烦。 本文提供了一种将此类数据有效转换为正确大小写的解决方案。

以下函数为这种转换提供了一个强大的方法:

<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 @f = 1 
    BEGIN
     SET @o = @o + @c;
     SET @f = 0;
    END
    ELSE
    BEGIN
     SET @o = @o + LOWER(@c);
    END

    IF @c LIKE @w SET @f = 1;

    SET @i = @i + 1;
  END

  RETURN @o;
END;</code>

此函数迭代输入字符串,识别由空格分隔的单词。它将每个单词的第一个字母大写,同时保留后续字母的大小写。

用法示例:

<code class="language-sql">SELECT dbo.ToProperCase('ALL UPPER CASE and    SOME lower ÄÄ ÖÖ ÜÜ ÉÉ ØØ ĈĈ ÆÆ');
-- Result: All Upper Case and      Some lower Ää Öö Üü Éé Øø Cc Ææ</code>

此脚本提供了一种将大写数据转换为正确大小写的简化方法,从而提高 SQL Server 数据库中数据的可读性和一致性。

以上是如何在 SQL Server 中将所有大写值转换为正确的大小写?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn