我正在尝试使用小数值来获取数字。
以下是以下示例:
我有两个数字:621
应该除以7
,结果应该以数字的形式显示,至少有3位十进制值。因此,结果应为88.714
。
我的尝试1:
SELECT CAST(621/7 as DECIMAL(5,3));
获得结果为88.000
。
尝试2:
SELECT CONVERT(DECIMAL(5,3), 621/7);
获得结果为88.000
。
答案 0 :(得分:3)
为了避免整数除法,你必须在除法之前进行转换。最简单的方法是:
cast(621*1.0/7 as Decimal(5,3))
在您的示例中,首先进行除法,然后将convert / cast应用于该结果。
答案 1 :(得分:1)
试试这个
SELECT CONVERT(DECIMAL(18,0), 621)/7;
答案 2 :(得分:0)
SELECT CAST(621.000/7 AS DECIMAL(5,3))
应该更好地工作,因为在你的例子中,在演员之前完成了分裂。
答案 3 :(得分:0)
Sql简单地将 621 7 视为int,它将输出转换为Decimal的int中的put。您必须将其显式定义为十进制
var regex = /^[._]?[a-zA-Z0-9]+([._][a-zA-Z0-9]+)*[._]?$/;
这里你要做什么
declare @a decimal(10,3)=621
SELECT CAST(@a/7 as DECIMAL(5,3));
总是给 2 是否将其转换为十进制
select 5/2