db2的strip函数怎么用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了db2的strip函数怎么用?相关的知识,希望对你有一定的参考价值。
db2的strip函数怎么用?
有sql如下,不太懂什么意思。(PS:只需要解释strip的语法,即strip怎么用即可)
select
'1'|| ' : '||
case
when sum(nvl(字段,0)) = 0 then '0'
else TRIM(REPLACE(strip(replace(char(decimal(round(sum(nvl(字段1,0))*1.000000/sum(字段2)*0.200,2),10,2)), '0.', '#'),B,'0'),'#','0.'))
end as test3
from 表名
strip(string, b|l|t, char)
其中b=both,指去掉2端, l=leading,指去掉前导, t=trailing,指去掉后续
如 strip('009900', b, '0')就是去掉2端的0,结果为'99'
char可以没有,没有时指删除空白字符,跟trim/ltrim/rtrim类似 参考技术A 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. 参考技术B STRIP 删除字符串开始和结尾的空白字符或其他指定的字符
以上是关于db2的strip函数怎么用?的主要内容,如果未能解决你的问题,请参考以下文章