为了账号安全,请及时绑定邮箱和手机立即绑定

有sql如下,不太懂什么意思?求指教

有sql如下,不太懂什么意思?求指教

素胚勾勒不出你 2022-11-18 21:17:54

db2的strip函数怎么用?
(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 表名

查看完整描述

3 回答

?
烙印99

TA贡献1523条经验 获得超12个赞

strip跟trim类似,可以去掉2端指定的字符,
strip(string, b|l|t, char)
其中b=both,指去掉2端, l=leading,指去掉前导, t=trailing,指去掉后续
如 strip('009900', b, '0')就是去掉2端的0,结果为'99'
char可以没有,没有时指删除空白字符,跟trim/ltrim/rtrim类似

查看完整回答
反对 回复 2022-11-22
?
扬帆大鱼

TA贡献1491条经验 获得超9个赞

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.

 


查看完整回答
反对 回复 2022-11-22
?
梵蒂冈之花

TA贡献1588条经验 获得超5个赞

STRIP 删除字符串开始和结尾的空白字符或其他指定的字符

查看完整回答
反对 回复 2022-11-22

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信