截断并插入到字符串中

时间:2017-08-09 15:32:55

标签: sql sql-server

我有一个字符串abcdef。我需要将其截断为结果def,然后在此字符串中插入新值fff以获取结果fffdef。到目前为止,我已经使用了substring

UPDATE mytable
  SET col1 =
  SUBSTRING(col1, 3, LEN(col1))
from
  mytable

但是如何插入字符串值的开头?

3 个答案:

答案 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