被除數除以除數可得到商數及餘數,當除數為1時,數值的整數部分均可被1整除,所得值為商數;餘數則為小數部分,也代表該數值為浮點數,因此,可由餘數是否為0進行判斷是否為整數。SQL語法及執行結果如下所示:
MSSQL
|
ORACLE
|
SELECT Val
, Val % 1
Remainder
, CASE WHEN Val % 1 =0 THEN 'Y'
ELSE 'N'
END
"整數"
FROM
(
SELECT 3 Val
UNION ALL
SELECT 3.2
) A
|
SELECT
, MOD(Val, 1) Remainder
, CASE WHEN MOD(Val, 1) =0 THEN 'Y'
ELSE 'N'
END "整數"
FROM
(
SELECT 3 Val
FROM DUAL
UNION ALL
SELECT 3.2
FROM DUAL
)
|
將以3、3.2為範例,資料除以1餘數分別0、0.2,餘數為0代表該數值為整數,結果如下:
Val
|
Remainder
|
整數
|
3
|
0
|
Y
|
3.2
|
0.2
|
N
|
注意,MSSQL需為numeric型態才可正確判斷。
沒有留言:
張貼留言