gpt4 book ai didi

sql-server - 更改列数据类型后截断(使用 ROUND)已停止工作

转载 作者:行者123 更新时间:2023-12-04 05:40:03 24 4
gpt4 key购买 nike

我在 3rd 方产品的 SQL Server 2008 数据库上使用以下查询来生成一些报告。

SELECT ROUND(SUM(Price),0,1) AS SumNetPrice FROM Transactions

例如
 SUM(Price): 1.2345678
ROUND(SUM(Price),0,1): 1

到目前为止,这一直工作正常并删除了所有小数位。事实上,即使我没有按照 ROUND 函数上的 MSDN 信息 http://msdn.microsoft.com/en-us/library/ms175003.aspx 指定第三个参数,结果也被截断了。

第 3 方公司现在已将价格列的数据类型从“真实”更改为十进制 (22, 7)。不幸的是,这现在意味着即使我使用 ROUND 函数的截断选项,我也总是得到 7 个小数位。所以现在我得到:
 ROUND(SUM(Price),0,1): 1.0000000

ROUND(expression,0,1) 不应该截断结果,所以我没有得到任何小数位吗?如何从 SQL 查询的结果中删除这些小数位?

最佳答案

SELECT CAST(ROUND(SUM(Price),0,1) AS DECIMAL(22,0)) AS SumNetPrice FROM Transactions

关于sql-server - 更改列数据类型后截断(使用 ROUND)已停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11365309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com