2016-04-13 17 views
1

SQLデータベースのデータを使用して、特定の場所に60個のデータセットを含む文字列を入力する必要があります。例えば、データ1が4に位置1をMYSTRINGになり、データ2が5〜10であろう、などSQLを使用して特定の場所にデータを設定する

mySQL SELECT INSERT('Originalstring', 4, 5, ' insert ') 

完璧であろうが、私は、SQLを使用しています。どのようにSQLでこれを行うことができますか?

+0

おそらく、単に 'concat()'が必要なだけです。 –

+0

あなたの質問は、ちょうど1つの長い文字列に複数の文字列を組み合わせたいと思っていますか?または設定した間隔で既存の文字列にカスタム文字列を挿入したいのですか? –

+0

はい、concat()にチェックされています。問題は私のデータが場所全体のサイズを満たすことができないことです。例:データ1が1から4までの位置にあるが、長さが2だけの場合、データ2はまだ5の位置から開始する必要があります。 – Sonia

答えて

1

STUFFを使用します。

declare @originalString varchar(50) = 'This is my string', 
     @stringToStuff varchar(10) = 'new ' 

SELECT STUFF(@originalString, 12, 0, @stringToStuff) 

これは(すぐに私の後のスペース以下)インデックス@originalStringの12の文字列@stringToStuffを挿入します。

+0

これはStuffがSQLの中にあったことを知りませんでした。これは役に立つかもしれません。 –

関連する問題