添加默认值为 0.0 的列

Add column with default value 0.0

我在 sql 服务器中有一个 table,但我想添加一个全为零的额外列 我这样做:

DECLARE @var numeric(10,1) set @var = 0.0
 SELECT tmp.a,
        tmp.b,
        @var
 INTO #tmp2
 from #tmp1 as tmp

当我 select * from #tmp2 列得到 0 但我想要 0.0

您需要为列命名,这将按预期工作,将 C 列的值保留为 0.0:

CREATE TABLE #temp1(a int, b int)
INSERT #temp1 values(1,1),(2,2)

DECLARE @var numeric(10,1) set @var = 0.0
 SELECT a,
        b,
        @var c
 INTO #tmp2
 FROM #temp1

 SELECT * from #tmp2

结果:

a  b  c
1  1  0.0
2  2  0.0

首先你的SQL不正确你需要在SELECT列表中给@var一个列名。其次,我无法重现这个问题。我正在使用 SQL Server 2014,它是来自 #tmp2 的 returns 0.0 而不是 0.