DB2 V9新增的字符串標量函數STRIP 環境 產品:DB2 UDB 平台:Linux Unix Windows 版本:V9 V9.5 問題 從DB2 V9開始,新增加了一個字符串標量函數 STRIP,方便開發者處理字符串。 注:為了顯示空格,以下用#指示字符串的起止位置 解答 在 DB2 程序開發中,用戶有時可能需要去掉某個字符串前面或後面的空格或是“0”字符, 如: 原字符串 希望得到的字符串 --------- ---------------- #00000999000# #999# # 999 # # 99# # 99 9 # # 99 9# #00990090000# #990090000# 在DB2 V8.2 以前,開發者一般采用REPLACE,或者LTRIM,RTRIM相結合的方式來實現。從V9.1開始,我們可以用STRIP函數或者TRIM函數來實現,在這裡簡單介紹一下STRIP函數,TRIM函數用法類似,有興趣的讀者可以查閱 DB2 的 SQL參考手冊。 STRIP函數的語法如下:
>>-STRIP--(---string --expression-- + ----------------------+---)->< '-,--+--BOTH----+--+----+---' +--LEADING-+ +--L-------+ +--TRAILING+ '-T---------' B:BOTH表示兩頭 L:LEADING表示去頭 T:TRAILING表示去尾 strip-character:表示要截去的單個字符常量
用上面的字符串舉例如下:
db2 "select '#'||strip('00000999000',b,'0')||'#' from sysibm.sysdummy1" 1 ------------- #999# 1 record(s) selected. db2 "select '#'||strip(' 999 ',t,' ')||'#' from sysibm.sysdummy1" 1 ------------- # 999# 1 record(s) selected. db2 "select '#'||strip(' 99 9 ',t,' ')||'#' from sysibm.sysdummy1" 1 ------------- # 99 9# 1 record(s) selected. db2 "select '#'||strip('00990090000',l,'0')||'#' from sysibm.sysdummy1" 1 ------------- #990090000# 1 record(s) selected.