INTEGER 純量函數

INTEGER 函數會傳回不同資料類型值的大整數 (精準度為 31 位元的二進位整數) 表示法。

INTEGER 的數值

Read syntax diagramSkip visual syntax diagram INTEGER ( numeric-expression )

字串至 INTEGER

Read syntax diagramSkip visual syntax diagram INTEGER ( string-expression )

日期至 INTEGER

Read syntax diagramSkip visual syntax diagram INTEGER ( date-expression )

時間到 INTEGER

Read syntax diagramSkip visual syntax diagram INTEGER ( time-expression )

布林至 INTEGER

Read syntax diagramSkip visual syntax diagram INTEGER ( boolean-expression )

綱目是 SYSIBM。

INTEGER 的數值
數值表示式
傳回任何內建數值資料類型的值的表示式。

結果與將引數指派給大型整數直欄或變數時所發生的數字相同。 引數的 小數 部分被截斷。 如果引數的整個部分不在整數範圍內,則會傳回錯誤 (SQLSTATE 22003)

字串至 INTEGER
string-expression
傳回 值的表示式,該值是 長度不大於字元常數長度上限的數字的字串或 Unicode 圖形字串表示法。

結果與 CAST (string-expresssion AS INTEGER) 所產生的數字相同。 會刪除前導及尾端空白,且產生的字串必須符合組成 整數、十進位、浮點或十進位浮點 常數的規則 (SQLSTATE 22018)。 如果引數的整個部分不在整數範圍內,則會傳回錯誤 (SQLSTATE 22003)。 字串表示式 的資料類型不能是 CLOB 或 DBCLOB (SQLSTATE 42884)。

日期至 INTEGER
日期表示式
傳回 DATE 資料類型值的表示式。 結果是 INTEGER 值,以 yyyymmdd代表日期。
時間到 INTEGER
時間表示式
傳回 TIME 資料類型值的表示式。 結果是 INTEGER 值,以 hhmmss代表時間。
布林至 INTEGER
布林表示式
傳回布林值 (TRUE 或 FALSE) 的表示式。 結果為 1 (代表 TRUE) 或 0 (代表 FALSE)。

結果

函數的結果是一個大整數。 如果引數可以是空值,則結果可以是空值; 如果引數是空值,則結果是空值。

注意事項

  • 增加應用程式的可攜性: 如果第一個引數是數值,或如果第一個引數是字串且指定了長度引數,請使用 CAST 規格 (而非此函數) 來增加應用程式的可攜性。

範例

  • 範例 1: 使用 EMPLOYEE 表格,選取包含薪資 (SALARY) 除以教育程度 (EDLEVEL) 的清單。 截斷計算中的任何小數。 清單也應該包含計算和員工編號 (EMPNO) 中使用的值。 清單應該以計算值的遞減順序。
       SELECT INTEGER (SALARY / EDLEVEL), SALARY, EDLEVEL, EMPNO
         FROM EMPLOYEE
         ORDER BY 1 DESC
  • 範例 2: 使用 EMPLOYEE 表格,選取整數形式的 EMPNO 直欄,以在應用程式中進一步處理。
       SELECT INTEGER(EMPNO) FROM EMPLOYEE
  • 範例 3: 假設直欄 BIRTHDATE (其資料類型為 DATE) 具有相當於 '1964-07-20' 的內部值。
       INTEGER(BIRTHDATE)
    會產生值 19 640 720
  • 範例 4: 假設直欄 STARTTIME (其資料類型為 TIME) 具有相當於 '12:03:04' 的內部值。
       INTEGER(STARTTIME)
    會產生值 120 304
  • 範例 5: 下列陳述式會傳回資料類型 INTEGER 的值 1。
       values INTEGER(TRUE)
  • 範例 6: 下列陳述式會傳回資料類型 INTEGER 的值 0。
       values INTEGER(3>3)