我有一个字符串abcdef
。我需要将其截断为结果def
,然后在此字符串中插入新值fff
以获取结果fffdef
。到目前为止,我已经使用了substring
UPDATE mytable
SET col1 =
SUBSTRING(col1, 3, LEN(col1))
from
mytable
但是如何插入字符串值的开头?
答案 0 :(得分:1)
尝试:
UPDATE mytable
SET col1 = 'fff' +
SUBSTRING(col1, 3, LEN(col1))
from
mytable
警告:这会更改表格中所有行的col1
答案 1 :(得分:1)
您的查询应该没问题。 。 。没有from
并使用STUFF()
:
UPDATE mytable
SET col1 = STUFF(col1, 1, 3, 'FFF')
如果您使用from
子句,请为该引用指定其他别名:
UPDATE t
SET col1 = STUFF(col1, 1, 3, 'FFF')
FROM mytable t
虽然您的版本确实有效:
UPDATE mytable
SET . . .
FROM mytable;
我认为这很危险,因为这会有很大的不同:
UPDATE mytable
SET . . .
FROM mytable t;
答案 2 :(得分:0)
你只需要concat()
,就像这样:
UPDATE mytable
SET col1 = CONCAT('fff', SUBSTRING(col1, 3, LEN(col1))
from
mytable