用於正確大小寫轉換的高階 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 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>
使用範例:
<code class="language-sql">SELECT dbo.ToProperCase('ALL UPPER CASE and SOME lower ÄÄ ÖÖ ÜÜ ÉÉ ØØ ĈĈ ÆÆ');</code>
範例輸出:
全部大寫,部分小寫 ää Öö Üü Éé Øø Cc Ææ
以上是在處理非英文字元和空白變體時,如何將 SQL Server 中的所有大寫文字轉換為正確的大小寫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!