2018年2月11日 星期日

判斷是否為整數-餘數的應用

被除數除以除數可得到商數及餘數,當除數為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
  )

將以33.2為範例,資料除以1餘數分別00.2,餘數為0代表該數值為整數,結果如下:
Val
Remainder
整數
3
0
Y
3.2
0.2
N


注意,MSSQL需numeric型態才可正確判斷。

沒有留言:

張貼留言