我有一個字符串abcdef
。我需要截斷它的結果def
,然後插入到這個字符串的新值fff
得到結果fffdef
。到目前爲止,我已經使用子字符串截斷並插入字符串
UPDATE mytable
SET col1 =
SUBSTRING(col1, 3, LEN(col1))
from
mytable
但我怎樣才能插入到字符串值的開始?
我有一個字符串abcdef
。我需要截斷它的結果def
,然後插入到這個字符串的新值fff
得到結果fffdef
。到目前爲止,我已經使用子字符串截斷並插入字符串
UPDATE mytable
SET col1 =
SUBSTRING(col1, 3, LEN(col1))
from
mytable
但我怎樣才能插入到字符串值的開始?
嘗試:
UPDATE mytable
SET col1 = 'fff' +
SUBSTRING(col1, 3, LEN(col1))
from
mytable
警告:這會在你的表更改col1
在所有行
您的查詢應該罰款。 。 。沒有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;
你只需要concat()
,像這樣:
UPDATE mytable
SET col1 = CONCAT('fff', SUBSTRING(col1, 3, LEN(col1))
from
mytable