我不得不舍去与类型的所有输入数据DECIMAL(14,3)
其中有3个十进制数到最后一个。 即:
100; 100.0; 100.00; 100.000 -> 100
100.2; 100.02; 100.20; 100.22 -> 100.xx
但
100.221 -> 100.22
100.229 -> 100.22
使用该SQL操作者可我检查,在十进制数师的残留物是大于零?
我不得不舍去与类型的所有输入数据DECIMAL(14,3)
其中有3个十进制数到最后一个。 即:
100; 100.0; 100.00; 100.000 -> 100
100.2; 100.02; 100.20; 100.22 -> 100.xx
但
100.221 -> 100.22
100.229 -> 100.22
使用该SQL操作者可我检查,在十进制数师的残留物是大于零?
http://msdn.microsoft.com/en-us/library/ms175003.aspx
见:使用圆形截断
使用该SQL操作者可我检查,在十进制数师的残留物是大于零?
我不知道你想达到与什么,但如果你想有一个方法来计算小数点残渣, %
(模)是这样的。 它通过第二个将第一数值表达式之后提供整数余数。 所以,你可以这样做
1) SELECT 100.229 % 1;
GO
给出0.229
的结果。
2) SELECT (100.229 * 100) % 1;
GO
给出0.900
的结果。 有你有从十进制师残留物。
但是,如果你要截断,你可以做大卫乙建议,并使用ROUND()截断:
SELECT ROUND(100.221, 2, 1); GO SELECT ROUND(100.229, 2, 1); GO