添加默认值为 0.0 的列
Posted
技术标签:
【中文标题】添加默认值为 0.0 的列【英文标题】:Add column with default value 0.0 【发布时间】:2016-02-09 11:24:19 【问题描述】:我在 sql server 中有一个表,但我想添加一个充满零的额外列 我这样做:
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
【问题讨论】:
0
和 0.0
是同一个数字。由表示层决定如何显示它。但至少在 SSMS 中,鉴于您的numeric(10,1)
类型,您应该已经获得0.0
。在 SSMS 之外,谁知道您可能会使用什么来显示值?没有足够的信息来回答这个问题。
我在 sql server studio management sqlserver 2008 中尝试了相同的操作并获得了 0.0.不过不得不命名@var。也许这是你的问题
【参考方案1】:
您需要为列命名,这将按预期工作,使列 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
【讨论】:
【参考方案2】:首先,您的 SQL 不正确,您需要在 SELECT 列表中为 @var 提供列名。其次,我无法重现这个问题。我使用的是 SQL Server 2014,它从 #tmp2 返回 0.0 而不是 0。
【讨论】:
以上是关于添加默认值为 0.0 的列的主要内容,如果未能解决你的问题,请参考以下文章