STUFF(string,start,length,substring)
概要
STUFF は、部分文字列を別の部分文字列と置き換えます。位置と長さにより置き換える部分文字列を特定し、それを substring と置き換えます。
この関数には Transact-SQL 実装との互換性があります。
置換 substring は、元の値よりも長いか短い場合があります。元の値を削除するために、substring を空文字列 (") にすることができます。
start の値は、string の現在の長さ以内である必要があります。0 の start を指定すると、string の先頭に substring を追加できます。空の文字列または数値以外の値は 0 として処理されます。
start、length、または substring 引数に NULL を指定すると、NULL が返されます。
STUFF では string 引数または substring 引数に %Stream.GlobalCharacter field を使用することはできません。これを実行しようとすると、SQLCODE -37 エラーが生成されます。
REPLACE と STUFF
REPLACE および STUFF の両方とも、部分文字列の置換を実行します。REPLACE は、データ値によって部分文字列を検索します。STUFF は、文字列の位置と長さによって部分文字列を検索します。
部分文字列を検索する関数のリストは、このドキュメントの "概念" セクションにある "文字列操作" を参照してください。
例
以下の例は、BOLT を BELT に変える、単一文字の置換を示しています。
SELECT STUFF('BOLT',2,1,'E')
以下の例は、8 文字の部分文字列 (Kentucky) をこれより長い 12 文字の部分文字列、およびこれより短い 2 文字の部分文字列で置き換えます。
SELECT STUFF('In my old Kentucky home',11,8,'Rhode Island'),
STUFF('In my old Kentucky home',11,8,'KY')
以下の例は、部分文字列を挿入します。
SELECT STUFF('In my old Kentucky home',19,0,' (KY)')
以下の例は、部分文字列を文字列の最初に追加します。
SELECT STUFF('In my old Kentucky home',0,0,'The sun shines bright ')
以下の例は、空の文字列で置き換えることにより、8 文字の部分文字列を削除します。
SELECT STUFF('In my old Kentucky home',11,8,'')