2017-04-15 13 views
0

別の文字列内の特定の位置からデータベースの列に文字列を挿入する方法です。たとえば、world.Name列にNameという名前の列に値Testがあります.2番目の文字列名に挿入する方法テストの後になってからのものです。一番のテストは一番最初になるはずです。 SQL Serverの場合SQL追加文字列

Database name :World 
Table Name :Name 
A Value in Name Table: Test 
Desired output: Te-New-st- 
(That is adding string "New" afer 2nd position in "Test" string.) 
+0

編集あなたの質問と、(1)サンプルデータを提供します。 (2)所望の結果; (3)使用しているデータベースのタグ。 –

+0

私はSQL開発者またはmysql workbechを使用しています。 –

答えて

0

--Original String 
DECLARE @orgString varchar(50) = 'This is some test string' 
--Search String 
DECLARE @searchString varchar(50) = 'te' 
--String to insert into the original string 
DECLARE @insertString varchar(50) = 'NEW' 

SELECT 
CONCAT(SUBSTRING(@orgString,1,CHARINDEX(@searchString,@orgString)+1), 
      @insertString, 
SUBSTRING(@orgString,CHARINDEX(@searchString,@orgString)+2,LEN(@orgString))) 
AS String 

それは常にであれば、あなたの列名

--Search String 
DECLARE @searchString varchar(50) = 'te' 
--String to insert into the original string 
DECLARE @insertString varchar(50) = 'NEW' 

SELECT CONCAT(SUBSTRING(Name,1,CHARINDEX(@searchString,Name)+1), 
      @insertString, 
SUBSTRING(Name,CHARINDEX(@searchString,Name)+2,LEN(Name))) 
AS String 
FROM Table_1 

で元の文字列変数を置き換え、あなたのテーブル内のデータに対してこのような何かを実行するには第2位と第3位の間になると、これを少し簡略化することができます。

--String to insert into the original string 
DECLARE @insertString varchar(50) = 'NEW' 

SELECT CONCAT(SUBSTRING(Name,1,2), 
       @insertString, 
       SUBSTRING(Name,3,LEN(Name))) 
      AS String 
FROM Table_1 

、文字列関数の参照のためにこれをチェックしてくださいString Functions

関連する問題