0
我有簡單的使用1個表的select語句。其中一列取該列的值,將其分開,然後在其後進行模運算,但最終得到一個小數。爲什麼模不工作?Modulo似乎不能在SQL Server 2012中工作
SELECT
(numeric_datatype_column/10000) % 100
FROM
table a
我所有的數值都以小數形式出現。模數不能給我一個整數嗎?
我有簡單的使用1個表的select語句。其中一列取該列的值,將其分開,然後在其後進行模運算,但最終得到一個小數。爲什麼模不工作?Modulo似乎不能在SQL Server 2012中工作
SELECT
(numeric_datatype_column/10000) % 100
FROM
table a
我所有的數值都以小數形式出現。模數不能給我一個整數嗎?
模數不能給我一個整數嗎?
號的modulo返回分割後的值的餘數。如果你的值是一個十進制值,模數也會返回小數部分。它不被截斷。
作爲工作示例:
Select (123.1234/10) % 5
2.3123400
如果你想刪除的小數,你可以將結果轉換爲INT
然後做模:
Select Convert(Int, (123.1234/10)) % 5
請舉例說明。我懷疑模塊結果是正確的,但是你看到整數部分之後0.00000。 –
如果'numeric_datatype_column'有小數,做一個mod也會返回小數。 'Select(123.1234/10)%100'產生'12.3123400' – Siyual
你爲什麼期望它是一個整數? '5.1%2.5'返回'0.1'。這是劃分後的正確剩餘部分。 –