Sql 截断并插入到字符串中
我有一个字符串Sql 截断并插入到字符串中,sql,sql-server,Sql,Sql Server,我有一个字符串abcdef。我需要将其截断为结果def,然后在此字符串中插入一个新值fff,以获得结果fffdef。到目前为止,我已经使用了substring UPDATE mytable SET col1 = SUBSTRING(col1, 3, LEN(col1)) from mytable 但是如何插入字符串值的开头?试试: UPDATE mytable SET col1 = 'fff' + SUBSTRING(col1, 3, LEN(col1)) from m
abcdef
。我需要将其截断为结果def
,然后在此字符串中插入一个新值fff
,以获得结果fffdef
。到目前为止,我已经使用了substring
UPDATE mytable
SET col1 =
SUBSTRING(col1, 3, LEN(col1))
from
mytable
但是如何插入字符串值的开头?试试:
UPDATE mytable
SET col1 = 'fff' +
SUBSTRING(col1, 3, LEN(col1))
from
mytable
警告:这将更改表中所有行中的col1
,请尝试:
UPDATE mytable
SET col1 = 'fff' +
SUBSTRING(col1, 3, LEN(col1))
from
mytable
警告:这将更改表中所有行的
col1
您的查询应该正常。没有来自的并使用STUFF()
:
如果确实使用了from
子句,请为引用提供不同的别名:
UPDATE t
SET col1 = STUFF(col1, 1, 3, 'FFF')
FROM mytable t
尽管您的版本确实有效:
UPDATE mytable
SET . . .
FROM mytable;
我认为这是危险的,因为这样做会有很大不同:
UPDATE mytable
SET . . .
FROM mytable t;
你的问题应该很好。没有来自
的并使用STUFF()
:
如果确实使用了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
您只需要concat()
,如下所示:
UPDATE mytable
SET col1 = CONCAT('fff', SUBSTRING(col1, 3, LEN(col1))
from
mytable