Rumah  >  Artikel  >  pangkalan data  >  保留十位有效数字

保留十位有效数字

WBOY
WBOYasal
2016-06-07 14:55:162921semak imbas

SQL四舍五入保留浮点数的十位有效数字 无 DECLARE @execsql NVARCHAR(1024)SET @execsql =N'SELECT CAST('+CAST(125.365412354 AS NVARCHAR(20)) +N' AS NUMERIC (20,'+STR(10-CEILING(LOG10(125.365412354)))+N'))'EXEC SP_EXECUTESQL @execsql /*ROUND?(?nu

SQL四舍五入保留浮点数的十位有效数字
DECLARE @execsql NVARCHAR(1024)
SET @execsql =N'SELECT CAST('+CAST(125.365412354 AS NVARCHAR(20)) +N' AS NUMERIC (20,'+STR(10-CEILING(LOG10(125.365412354)))+N'))'
EXEC SP_EXECUTESQL @execsql
/*ROUND?(?numeric_expression?,?length?[?,function?]?)
function?必须为?tinyint、smallint??或?int。
如果省略?function?或其值为?0(默认值),则将舍入?numeric_expression。
如果指定了0以外的值,则将截断?numeric_expression。*/
SELECT?ROUND(150.45648,?2);--保留小数点后两位,需要四舍五入
SELECT?ROUND(150.45648,?2,?0);--保留小数点后两位,0为默认值,表示进行四舍五入
SELECT?ROUND(150.45648,?2,?1);--保留小数点后两位,不需要四舍五入,这里除0以外都是有同样的效果
SELECT?ROUND(150.45648,?2,?2);--保留小数点后两位,不需要四舍五入,这里除0以外都是有同样的效果
--150.46000
--150.45000
--150.45000
--150.45000
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:SQL Server中Money转DecimalArtikel seterusnya:MS SQL SERVER 全库搜索