|
环境
产品: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.
参考链接:
http://publib.boulder.ibm.com/infocenter/db2luw/v9//topic/com.ibm.db2.udb.admin.doc/doc/r0023197.htm
http://publib.boulder.ibm.com/infocenter/db2luw/v9//topic/com.ibm.db2.udb.admin.doc/doc/r0023198.htm |
|
|