首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 常用內建函數速查手冊(一):彙總、數學、字串與日期函數

     編輯:DB2 教學

彙總函數

函數說明範例
AVG()回傳數值集合平均值SELECT AVG(SALARY) FROM BSEMPMS;
CORR() / CORRELATION()回傳兩數值集相關係數SELECT CORRELATION(SALARY, BONUS) FROM BSEMPMS;
COUNT()回傳資料列或值的個數SELECT COUNT(*) FROM BSEMPMS;
COVAR() / COVARIANCE()回傳兩數值集協方差SELECT COVAR(SALARY, BONUS) FROM BSEMPMS;
MAX()回傳最大值SELECT MAX(SALARY) FROM BSEMPMS;
MIN()回傳最小值SELECT MIN(SALARY) FROM BSEMPMS;
STDDEV()回傳標準差SELECT STDDEV(SALARY) FROM BSEMPMS;
SUM()回傳總和SELECT SUM(SALARY) FROM BSEMPMS;
VAR() / VARIANCE()回傳變異數SELECT VARIANCE(SALARY) FROM BSEMPMS;

數學與數值轉換函數

函數說明範例
ABS() / ABSVAL()絕對值SELECT ABS(-3.4) FROM BSEMPMS;
ACOS()反餘弦SELECT ACOS(0.9) FROM BSEMPMS;
ASIN()反正弦SELECT ASIN(0.9) FROM BSEMPMS;
ATAN()反正切SELECT ATAN(0.9) FROM BSEMPMS;
ATAN2(y, x)座標反正切SELECT ATAN2(0.5, 0.9) FROM BSEMPMS;
BIGINT()轉 64 位整數SELECT BIGINT(EMP_NO) FROM BSEMPMS;
CEILING() / CEIL()大於等於參數的最小整數SELECT CEILING(3.56) FROM BSEMPMS;
FLOOR()小於等於參數的最大整數SELECT FLOOR(88.93) FROM BSEMPMS;
ROUND(expr, n)四捨五入到小數點右第 n 位SELECT ROUND(2345.6789, 2) FROM BSEMPMS;
TRUNCATE() / TRUNC()截斷小數SELECT TRUNCATE(345.6789, 2) FROM BSEMPMS;
SQRT()平方根SELECT SQRT(36) FROM BSEMPMS;
POWER(x, y)x 的 y 次方SELECT POWER(2, 5) FROM BSEMPMS;
MOD(x, y)x 除以 y 的餘數SELECT MOD(20, 8) FROM BSEMPMS;
EXP()指數函數 e^xSELECT EXP(2) FROM BSEMPMS;
LOG() / LN()自然對數SELECT LN(10) FROM BSEMPMS;
DOUBLE()轉雙精度浮點數SELECT DOUBLE('5678') FROM BSEMPMS;
FLOAT()轉浮點數SELECT FLOAT(789) FROM BSEMPMS;
REAL()轉單精度浮點數SELECT REAL(10) FROM BSEMPMS;
DECIMAL()轉定點數SELECT DECIMAL(SALARY, 12, 2) FROM BSEMPMS;
HEX()十六進位表示SELECT HEX(16) FROM BSEMPMS;
RAND()0~1 隨機浮點數SELECT RAND() FROM BSEMPMS;

字串函數

函數說明範例
CHAR()日期/數值轉字串SELECT CHAR(SALARY, ',') FROM BSEMPMS;
CHR()ASCII 碼轉字元SELECT CHR(167) FROM BSEMPMS;
CONCAT() / ||字串串接SELECT CONCAT(EMP_NO, EMP_NAM) FROM BSEMPMS;
UCASE() / UPPER()轉大寫SELECT UPPER(EMP_NAM) FROM BSEMPMS;
LCASE() / LOWER()轉小寫SELECT LOWER(EMP_NAM) FROM BSEMPMS;
LTRIM()移除前導空白SELECT LTRIM(' CDDD') FROM BSEMPMS;
RTRIM()移除尾隨空白SELECT RTRIM('COMMENT ') FROM BSEMPMS;
TRIM()移除前後空白SELECT TRIM(' TEST ') FROM BSEMPMS;
SUBSTR(str, pos, len)擷取子字串SELECT SUBSTR('CDNJFDJFJD', 5, 2) FROM BSEMPMS;
POSSTR(str, substr)尋找子字串位置SELECT POSSTR('ABCDEFGH', 'D') FROM BSEMPMS;
REPLACE(str, old, new)替換字串SELECT REPLACE('ROMANDD', 'NDD', 'CCB') FROM BSEMPMS;
REPEAT(str, n)重複字串 n 次SELECT REPEAT('REPEAT', 3) FROM BSEMPMS;
SPACE(n)產生 n 個空白SELECT SPACE(10) FROM BSEMPMS;
ASCII()首字元 ASCII 碼SELECT ASCII('R') FROM BSEMPMS;

日期時間函數

函數說明範例
YEAR()取年份SELECT YEAR('2003/01/02') FROM BSEMPMS;
MONTH()取月份SELECT MONTH('2003/10/20') FROM BSEMPMS;
DAY() / DAYOFMONTH()取日期SELECT DAY('2003/10/20') FROM BSEMPMS;
HOUR()取小時SELECT HOUR('18:34:23') FROM BSEMPMS;
MINUTE()取分鐘SELECT MINUTE('18:34:23') FROM BSEMPMS;
SECOND()取秒數SELECT SECOND('18:34:32') FROM BSEMPMS;
TIME()取時間部分SELECT TIME('2001-03-19.12.30.123456') FROM BSEMPMS;
DATE()取日期部分SELECT DATE('2001-03-19.12.30.123456') FROM BSEMPMS;
CURRENT DATE / TIME / TIMESTAMP系統當前日期/時間/時間戳SELECT CURRENT DATE FROM SYSIBM.SYSDUMMY1;

其他實用函數

函數說明範例
COALESCE(v1, v2, ...)回傳第一個非 NULL 值SELECT COALESCE(BONUS, 0) FROM BSEMPMS;
VALUE(v1, v2)同 COALESCE(DB2 相容語法)SELECT VALUE(BONUS, 0) FROM BSEMPMS;
NULLIF(v1, v2)若 v1=v2 則回傳 NULLSELECT NULLIF(COMM, 0) FROM BSEMPMS;
CASE WHEN ... THEN ... ELSE ... END條件表達式SELECT CASE WHEN SALARY>50000 THEN 'HIGH' ELSE 'LOW' END FROM BSEMPMS;
NODENUMBER()回傳資料列分區號SELECT NODENUMBER(EMP_NO) FROM BSEMPMS;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved