SQL SQL Server プログラミング

【 SQL Server 】 STUFF 関数(文字列の入れ替え)について SQL Server

この記事ではSQL Serverで使用できる「STUFF」という便利な関数の使い方について、
解説していきます!

他にも便利な関数があれば、別記事にて使用方法を解説していきたいと思います!

STUFF 関数とは

RDBMSのSQLで使用することができるDBの値を加工した上で取得することができる関数がいくつかあります。

その中で、「STUFF」という関数があり、これは特定の文字列のうち、入れ替えたい文字列とその入れ替えの位置や文字数を指定して、

指定した通りに変換された値を返してくれる便利な関数となっています。

STUFF関数を使用することで、値を取得した際にもうすでに指定した通りに変換したい値となって返却されており、

いちいち値を取得元で加工する必要がなくなります。

以下で詳しい使い方を解説していきます。

STUFF 関数の書式

STUFF関数の書式、指定する引数などは以下のように設定していますので、こちらの書式に則って関数を使用してください。

  • 書式 : STUFF (string1, position, length, string2)

    第1引数(string1) : 入れ替え元の文字列(DBから取得できる元々の値)
    第2引数(position): 入れ替えを開始したい文字列位置
    第3引数(length) : 入れ替える文字数
    第4引数(string2) : 入れ替える文字列
    戻り値 : 変換された値

STUFF 関数の使用例

motostring → abcdefg

henkanstring → xyz

STUFF(motostring, 3, 5, henkanstring)

上記の場合、
motostringの「abcdefg」の3文字目の「c」から5文字分の「cdefg」をhenkanstringの「xyz」で変換され、

返却される変換値は「abxyz」となります。

(もう少し良い例があれば追記します。。)

おすすめ記事はコチラ

ASP.NET Web Forms 1

この記事ではマイクロソフト社が開発・提供しているWebアプリケーション開発用フレームワーク「ASP.NET」の「Web Forms」を「MVC」と比較しながらメリットやデメリット等を含めて解説していき ...

C#VB 2

今回はC#(ver.7.0以降)、VB(ver. 15以降)でforeachループ内で繰り返し回数を参照する方法について解説していきます。 従来の記述方法とよりスマートに記述する方法の2通りを以下にな ...

3

この記事ではSQL Serverで使用できる「STUFF」という便利な関数の使い方について、解説していきます! 他にも便利な関数があれば、別記事にて使用方法を解説していきたいと思います! STUFF ...

4

今回はSQL ServerでデータをXML形式で取得する方法について書いていきます。 FOR XML PATH SQL Serverには「FOR XML PATH」という関数があって、SQL分の末尾に ...

-SQL, SQL Server, プログラミング
-, ,