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.


参考链接:
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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值