我的表包含带值的列:
id string
1 aaabbbfff
2 aaabbbfffff
3 aaabbbffff
4 aaabbbfffffff
5 aaaaabbbffffff
6 aaaaabbbffffff
7 jjjjjbbbffffff
8 gggggtttffffff
我需要在字符串的开头插入不可更改的部分(kkk)。结果 - 'kkkbbbfff'
我使用UPDATE语句:
UPDATE [dbo].[mytable]
SET string = 'kkk' +
SUBSTRING(string, 3, LEN(string))
from
[dbo].[mytable]
适用于1,2,3,4行。但是exp。 5行和6行包含更多符号“a”,代码SUBSTRING(string, 6, LEN(string))
不起作用。如何在一个语句中更改所有行?
结果我需要表:
id string
1 kkkfff
2 kkkfffff
3 kkkffff
4 kkkfffffff
5 kkkffffff
6 kkkffffff
7 kkkffffff
8 kkkffffff
答案 0 :(得分:1)
以下更新将从子字符串的开头直到f
的第一个kkk
:
UPDATE [dbo].[mytable]
SET string = 'kkk' + SUBSTRING(string,
CHARINDEX('f', string),
LEN(string) - CHARINDEX('f', string) + 1)
如果您需要在第一个kkk
之前插入f
并保留起始子字符串,则可以使用STUFF()
:
UPDATE [dbo].[mytable]
SET string = STUFF(string, CHARINDEX('f', string)-1, CHARINDEX('f', string)-1, 'kkk')
答案 1 :(得分:0)
<path fill="rgba(124,181,236,0.75)" ... />
并添加kkk
REPLACE
答案 2 :(得分:0)
这个怎么样:
UPDATE [dbo].[mytable]
SET string = 'kkk' + RIGHT(string, len(string)-3)
from
[dbo].[mytable]
答案 3 :(得分:0)
这个怎么样:
UPDATE [dbo].[mytable]
SET string = replace (string, left(string, charindex('f', string)-1), 'kkk')
FROM [dbo].[mytable]