我需要将2个整数和一个varchar列连接到plan_no
中,以便看起来像这样
任何帮助将不胜感激。
答案 0 :(得分:2)
我们可以尝试在此处使用CONVERT
将数字字段转换为文本:
SELECT
CONVERT(varchar(10), lot) + '-' + forester + '-' +
CONVERT(varchar(10), year) AS plan_no
FROM yourTable;
如果要更新,请使用:
UPDATE yourTable
SET plan_no = CONVERT(varchar(10), lot) + '-' + forester + '-' +
CONVERT(varchar(10), year);
答案 1 :(得分:1)
您需要进行转换:
select *, cast(lot as varchar(255)) + '-' +forester + '-' +cast([year] as varchar(5)) as plan_no
from table t;
您可以更改您的DDL
:
alter table t
add plan_no as (cast(lot as varchar(255)) + '-' +forester + '-' +cast([year] as varchar(5)))
编辑:
update t
set plan_no = cast(lot as varchar(255)) + '-' +forester + '-' +cast([year] as varchar(5))
where plan_no is null;
答案 2 :(得分:0)
我认为您想更新当前表中的数据:
UPDATE TableName
SET plan_no = cast(lot as nvarchar(50)) + '-' + forester + '-' + cast([year] as nvarchar(50))
请注意:如果lot,forester或year列可以包含空值,则需要使用ISNULL()
函数包装值