在 DB2 資料庫開發中,字串處理是日常操作的核心環節。無論是資料清洗、報表產生,還是應用程式邏輯判斷,熟練掌握內建字串函數都能大幅提升 SQL 效率與可讀性。本文系統整理 DB2 常用字串函數,分為字元轉換、去除空白、子串擷取、字串比較四大類,並附上語法與實務注意事項,供開發人員快速查閱。
ASCII(char_expr) 回傳字串第一個字元的 ASCII 數值。注意:純數字字串可不加引號,但包含字母或符號時必須用單引號括起,否則會報錯。
CHAR(ascii_val) 將 0~255 之間的整數轉為對應字元;超出範圍回傳 NULL。
LOWER(str):全字串轉小寫UPPER(str):全字串轉大寫STR(float_expr [, length [, decimal]])
length:回傳字串總長度(預設 10)decimal:小數位數(預設 0)length 或 decimal 為負值 → 回傳 NULLlength 小於整數部位(含正負號) → 回傳 * 佔位length 再截取 decimal;不足長度左側補空白LTRIM(str):移除字串左側空白RTRIM(str):移除字串右側空白常搭配使用 LTRIM(RTRIM(str)) 達成雙邊修剪。
LEFT(char_expr, integer_expr)
回傳字串最左側 integer_expr 個字元。
RIGHT(char_expr, integer_expr)
回傳字串最右側 integer_expr 個字元。
SUBSTRING(expr, start_pos, length)
從第 start_pos 個字元(起始為 1)開始,擷取 length 個字元。
CHARINDEX('substring_expr', expr)
substring_expr 在 expr 中首次出現的位置(1-based)TEXT、IMAGE 資料型別PATINDEX('%pattern%', column_name)
CHAR、VARCHAR、TEXT 型別熟練運用上述函數,能讓 SQL 查詢更簡潔、效能更佳。建議在實際專案中建立常用函數速查表,並針對大量資料操作時注意索引與執行計畫的影響。