簡體   English   中英

SQL-在小數點后第六位截斷

[英]SQL - Cut off at 6th decimal place

因此,我有一個值123.123456789,並且我試圖返回123.123456。 我在下面嘗試的查詢將第6個十進制數字舍入到下一個數字。 請幫助僅返回123.123456。 (不四舍五入!)

select cast(cast(123.123456789 as DECIMAL(9,6)) as float)

使用ROUND 第一個參數是您的數字,第二個參數是精度,第三個參數是指示舍入是否應該截斷的數字(0個回合,其他任何數字都將截斷)。

select cast(cast(round(123.123456789,6,1) as DECIMAL(9,6)) as float)

select round(numeric_expression, length [, function])

爭論

numeric_expression是精確數字或近似數字數據類型類別的表達式,位數據類型除外。

length是numeric_expression要舍入的精度。 length必須是tinyint,smallint或int類型的表達式。 當length為正數時,numeric_expression將舍入為length指定的小數位數。 當length為負數時,numeric_expression在小數點的左側舍入,由length指定。

功能是要執行的操作的類型。 函數必須是tinyint,smallint或int。 如果省略函數或值為0(默認值),則將數字表達式四舍五入。 當指定非0的值時,numeric_expression被截斷。

如此處所述: https : //docs.microsoft.com/zh-cn/sql/t-sql/functions/round-transact-sql?view=sql-server-2017

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM