2014-03-31 62 views
0

我还没有模糊的如何从我的列中删除一个子字符串,我一直在这里寻找几天,每个人似乎都想从最后而不是开始删除数据。需要从子串中删除数据

列数据:/data/data/data.com --data=nameiwant2keep

列名:column1

表名:table1

感谢您的任何帮助。

+2

你有什么期望列的数据看起来像子手术后? –

+0

你应该显示'before'和'after'数据的几个例子,它涵盖了所有的标准和任何奇怪的情况。 –

回答

0

假设您只想保留nameiwant2keep部分,并且在列数据中不会有任何其他参数,您可以搜索=符号的索引,并从下一个字符开始到下一个字符的子字符串结束字符串:

UPDATE 
    table1 
SET 
    column1 = SUBSTRING(column1, CHARINDEX('=', column1, 0) + 1, LEN(column1)) 

尝试此证明:

DECLARE @column1 varchar(max) 
SET @column1 = '/data/data/data.com --data=nameiwant2keep' 

SELECT 
    SUBSTRING(@column1, CHARINDEX('=', @column1, 0) + 1, LEN(@column1))