INTEGER 純量函數
INTEGER 函數會傳回不同資料類型值的大整數 (精準度為 31 位元的二進位整數) 表示法。
INTEGER 的數值
字串至 INTEGER
日期至 INTEGER
時間到 INTEGER
布林至 INTEGER
綱目是 SYSIBM。
- INTEGER 的數值
- 數值表示式
- 傳回任何內建數值資料類型的值的表示式。
結果與將引數指派給大型整數直欄或變數時所發生的數字相同。 引數的 小數 部分被截斷。 如果引數的整個部分不在整數範圍內,則會傳回錯誤 (SQLSTATE 22003)。
- 傳回任何內建數值資料類型的值的表示式。
- 字串至 INTEGER
- string-expression
- 傳回 值的表示式,該值是 長度不大於字元常數長度上限的數字的字串或 Unicode 圖形字串表示法。
結果與 CAST (string-expresssion AS INTEGER) 所產生的數字相同。 會刪除前導及尾端空白,且產生的字串必須符合組成 整數、十進位、浮點或十進位浮點 常數的規則 (SQLSTATE 22018)。 如果引數的整個部分不在整數範圍內,則會傳回錯誤 (SQLSTATE 22003)。 字串表示式 的資料類型不能是 CLOB 或 DBCLOB (SQLSTATE 42884)。
- 傳回 值的表示式,該值是 長度不大於字元常數長度上限的數字的字串或 Unicode 圖形字串表示法。
- 日期至 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)
