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

DB2 常用函數速查手冊(六):進階字串、數值與條件函數補充

     編輯:DB2 綜合知識

DB2 函數速查續篇

補充更多實用函數,涵蓋字串操作、數值計算、條件判斷與系統資訊函數。

字串進階函數

函數說明範例
INSERT()在指定位置插入字串SELECT INSERT('abcdef', 3, 2, 'XY') FROM BSEMPMS -- 回傳 abXYef
LEFT()左側指定長度字串SELECT LEFT('ABCDEFG', 3) FROM BSEMPMS -- ABC
RIGHT()右側指定長度字串SELECT RIGHT('ABCDEFG', 3) FROM BSEMPMS -- EFG
TRANSLATE()字元轉換SELECT TRANSLATE('abc', 'ABC', 'abc') FROM BSEMPMS -- ABC
UPPER() / UCASE()轉大寫 (重複收錄)SELECT UPPER('hello') FROM BSEMPMS
LOWER() / LCASE()轉小寫SELECT LOWER('HELLO') FROM BSEMPMS
LTRIM() / RTRIM() / TRIM()去除空格SELECT TRIM(' hello ') FROM BSEMPMS

數值與條件函數

函數說明範例
SIGN()正負號 (-1, 0, 1)SELECT SIGN(-5), SIGN(0), SIGN(5) FROM BSEMPMS
ABS() / ABSVAL()絕對值SELECT ABS(-3.4) FROM BSEMPMS
CEILING() / CEIL()向上取整SELECT CEILING(3.56) FROM BSEMPMS
FLOOR()向下取整SELECT FLOOR(88.93) FROM BSEMPMS
ROUND()四捨五入SELECT ROUND(2345.6789, 2) FROM BSEMPMS
TRUNCATE() / TRUNC()截斷SELECT TRUNCATE(345.6789, 2) FROM BSEMPMS
MOD()餘數SELECT MOD(20, 8) FROM BSEMPMS
POWER()冪運算SELECT POWER(2, 5) FROM BSEMPMS
SQRT()平方根SELECT SQRT(36) FROM BSEMPMS
EXP()指數SELECT EXP(2) FROM BSEMPMS
LOG() / LN()自然對數SELECT LOG(10) FROM BSEMPMS
LOG10()底 10 對數SELECT LOG10(100) FROM BSEMPMS
RAND()隨機數SELECT RAND() FROM BSEMPMS
CASE WHEN ... THEN ... ELSE ... END條件運算式SELECT CASE WHEN SALARY > 50000 THEN 'HIGH' ELSE 'LOW' END FROM BSEMPMS
COALESCE()第一個非空SELECT COALESCE(COMM, 0) FROM BSEMPMS
NULLIF()相等則 NULLSELECT NULLIF(VAL1, VAL2) FROM BSEMPMS
DECODE() (Oracle 相容)條件轉碼SELECT DECODE(DEPT, 'A', 'SALES', 'B', 'IT', 'OTHER') FROM BSEMPMS

系統資訊與特殊函數

函數說明範例
CURRENT DATE / CURRENT_DATE目前日期SELECT CURRENT DATE FROM SYSIBM.SYSDUMMY1
CURRENT TIME / CURRENT_TIME目前時間SELECT CURRENT TIME FROM SYSIBM.SYSDUMMY1
CURRENT TIMESTAMP / CURRENT_TIMESTAMP目前時間戳記SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1
USER / SESSION_USER目前使用者SELECT USER FROM SYSIBM.SYSDUMMY1
IDENTITY_VAL_LOCAL()最近 IDENTITY 值INSERT ...; SELECT IDENTITY_VAL_LOCAL() FROM SYSIBM.SYSDUMMY1
GENERATE_UNIQUE()產生唯一值SELECT GENERATE_UNIQUE() FROM SYSIBM.SYSDUMMY1
RAISE_ERROR()主動拋出錯誤SELECT RAISE_ERROR('78000', 'Custom error') FROM SYSIBM.SYSDUMMY1

XML 相關函數 (DB2 9+)

  • XMLPARSE():字串轉 XML 型別
  • XMLSERIALIZE():XML 轉字串/BLOB/CLOB
  • XMLVALIDATE():依 Schema 驗證 XML
  • XMLELEMENT()、XMLATTRIBUTES()、XMLFOREST()、XMLAGG():建構 XML
  • XMLQUERY()、XMLEXISTS():XPath/XQuery 查詢
  • XMLTABLE():XML 轉關聯表格

掌握這些函數能讓 SQL 陳述式更具表達力,減少應用層邏輯處理。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved