[英]SQL value = 0.5 or 0.0
我有一個地板問題。
(1) -
declare @value numeric(5,1),
set @value = 36.66,
select floor(2*@value)/2,
Answer= 36.5
但是 (2) -
declare @value numeric(5,1),
set @value = 110/3,
select floor(2*@value)/2,
Answer = 36
我需要答案 = 36.5 和用戶 (2)
謝謝
/(除)(Transact-SQL)
參數股息是要除的數值表達式。 除 datetime 和 smalldatetime 數據類型外,被除數可以是數字數據類型類別的任何一種數據類型的任何有效表達式。
divisor是除以被除數的數值表達式。 除數可以是數字數據類型類別的任何一種數據類型的任何有效表達式,但 datetime 和 smalldatetime 數據類型除外。
結果類型返回具有較高優先級的參數的數據類型。 有關詳細信息,請參閱數據類型優先級 (Transact-SQL)。
如果整數被除數除以整數除數,則結果是一個整數,結果的任何小數部分都被截斷。
備注/ 運算符返回的實際值是第一個表達式除以第二個表達式的商。
110/3 - 這些是整數值,返回的結果將是整數,因此它會自動轉換為整數,使值 36 :)
所以在第二種情況下,你的floor
什么也不做。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.