MSSQL从同一个表复制数据,修改行中文本的一部分

时间:2017-10-12 11:06:24

标签: sql-server

您好我正在尝试复制同一个表中的行并同时修改它们。用不同的文本替换文本的出现。下面的内容在“tblGroups.GroupCode”和“PKRowID”下方的窗口中以下面的方式加下划线,作为invaild列名。

USE [Database];
GO
INSERT INTO [dbo].[tblGroups]
       SELECT GroupCode = REPLACE([tblGroups.GroupCode], 'ABC', 'XYZ')
       WHERE PKRowID BETWEEN 777 AND 999;
GO

2 个答案:

答案 0 :(得分:2)

如果要插入新行,则需要FROM子句:

INSERT INTO [dbo].[tblGroups](GroupCode, . . . ) 
    SELECT GroupCode = REPLACE([tblGroups.GroupCode], 'ABC', 'XYZ'),
           . . . 
    FROM [dbo].[tblGroups] g
    WHERE PKRowID BETWEEN 777 AND 999;

请注意,您可能需要包含其他列 - 但我不知道该表的真实含义。

如果您只想更改现有的行,请使用UPDATE

UPDATE [dbo].[tblGroups]
    SET GroupCode = REPLACE([tblGroups.GroupCode], 'ABC', 'XYZ')
    WHERE PKRowID BETWEEN 777 AND 999;

答案 1 :(得分:0)

USE [Database];
GO
INSERT INTO [dbo].[tblGroups](GroupCode)
       SELECT REPLACE(GroupCode, 'ABC', 'XYZ')
       FROM tblGroups
       WHERE PKRowID BETWEEN 777 AND 999;