我正在尝试连接lastName(3个字母)+ firstName(2个字母)以创建新用户名。当我使用此脚本时,它为连接结果创建了新记录。
USE [database]
INSERT INTO table (username)
SELECT SUBSTRING(lastName, 1, 3) + SUBSTRING(firstName, 1, 2)
FROM [database].[dbo].table
有人可以告诉我如何使用新用户名附加原始记录吗?
答案 0 :(得分:2)
我不确定我的问题是否正确,但不应该做以下工作?
UPDATE table
SET username = SUBSTRING(lastName, 1, 3) + SUBSTRING(firstName, 1, 2)
这会更新表格中每条记录的username
。
答案 1 :(得分:1)
试试这个:
USE [database]
UPDATE MyTable
SET USERNAME = SUBSTRING(lastName, 1, 3) + SUBSTRING(firstName, 1, 2)
答案 2 :(得分:1)
如果您只想更改现有记录的用户名,请使用update
代替insert
:
UPDATE table
SET username = SUBSTRING(lastName, 1, 3) + SUBSTRING(firstName, 1, 2);
如果要为包含更多列的相同用户插入新行,请将其添加到insert
:
INSERT INTO table (username, col1, col2, . . ., coln)
SELECT SUBSTRING(lastName, 1, 3) + SUBSTRING(firstName, 1, 2),
col1, col2, . . ., coln
FROM [database].[dbo].table;
答案 3 :(得分:1)
您想要更新而不是插入。以下内容将使用新用户名更新所有记录。如果只想对单个记录进行更具体的更新,则需要WHERE子句来标识特定的行。
UPDATE table
SET username = SubString(lastName, 1, 3) + SubString(firstName, 1, 2);