DB2 substr,instr使用

时间:2025-04-03 14:32:24

看示例,查询下一年'2xxx',例如今年2014,结果为2015

1
select  substr( char ( current  timestamp ),1,4)+1  from  SYSIBM.SYSDUMMY1;

substr(字符串,截取开始位置,截取长度) //返回截取的字符串

instr(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号)//返回找到的位置,如果找不到则返回0

一起运用的示例:

1
2
3
4
5
6
select  'aa|bb|cc|dd|'  all ,
substr( 'aa|bb|cc|dd|' ,1,instr( 'aa|bb|cc|dd|' , '|' ,1,1)-1) aa,
substr( 'aa|bb|cc|dd|' ,instr( 'aa|bb|cc|dd|' , '|' ,1,1)+1,instr( 'aa|bb|cc|dd|' , '|' ,1,2)-instr( 'aa|bb|cc|dd|' , '|' ,1,1)-1) bb,
substr( 'aa|bb|cc|dd|' ,instr( 'aa|bb|cc|dd|' , '|' ,1,2)+1,instr( 'aa|bb|cc|dd|' , '|' ,1,3)-instr( 'aa|bb|cc|dd|' , '|' ,1,2)-1) cc,
substr( 'aa|bb|cc|dd|' ,instr( 'aa|bb|cc|dd|' , '|' ,1,3)+1,instr( 'aa|bb|cc|dd|' , '|' ,1,4)-instr( 'aa|bb|cc|dd|' , '|' ,1,3)-1) dd
from  sysibm.sysdummy1;

返回结果如下:

ALL AA BB CC DD
aa|bb|cc|dd| aa bb cc dd

备注:substr、instr函数同样适用于oracle,语法及使用方式一致。


转自:/senyier/p/