DB2 substr,instr使用

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

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

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

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

备注:两函数对待字符串的位置的索引是从1开始的(填写0和1都是代表从第1个位置开始)

一起运用的示例:

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;

返回结果如下:

ALLAABBCCDD
aa|bb|cc|dd| aa bb cc dd

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

原文地址:https://www.cnblogs.com/senyier/p/3732406.html