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中文网其他相关文章!