2017-04-15 170 views
0

如何将字符串从另一个字符串中的特定位置插入到数据库中的列中。与我在表中名为Name的列名world.Name中的列有值Test.How在第二个字符串名中插入从测试后的位置来看,测试应该成为最新的。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

对于SQL Server

--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 

代替原来的字符串变量如果是总是将在第二和第三的位置之间,你可以简化它到这一点。

--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