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 PATINDEX(@w, @c) > 0 SET @f = 1; ELSE IF @f = 1 BEGIN SET @o = @o + UPPER(@c); SET @f = 0; END ELSE SET @o = @o + LOWER(@c); SET @i = @i + 1; END; RETURN @o; END;</code>
主な機能:
実装:
この関数を使用するには、大文字のテキストを引数として渡すだけです:
<code class="language-sql">SELECT dbo.ToProperCase('ALL UPPER CASE and SOME lower ÄÄ ÖÖ ÜÜ ÉÉ ØØ ĈĈ ÆÆ') AS ProperCaseText;</code>
出力:
<code>ProperCaseText ----------------------------------------------------------------- All Upper Case and Some lower Ää Öö Üü Éé Øø Cc Ææ</code>
以上がSQL Server ですべての大文字データを適切な大文字に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。