(REVERSE 函数 Oracle 和 SQL Server 都有的, DB2 有可能没有。)
你可以去百度查下 “db2 REVERSE” 这样的关键字。
调用的时候, 就是 REVERSE ( 'test_ip_steal' )
返回结果是 laets_pi_tset
然后使用 POSSTR , 找到 反转后的 第一个 _ 的位置。
就是POSSTR (REVERSE ( 'test_ip_steal' ) )
相当于 POSSTR ( 'laets_pi_tset' )
返回结果是 6
然后用 SUBSTR 函数, 取得 后面的信息
就是 SUBSTR ( REVERSE ( 'test_ip_steal' ), POSSTR (REVERSE ( 'test_ip_steal' )+ 1 )
相当于 SUBSTR ( 'laets_pi_tset' , 6+1 )
返回结果是 pi_tset
最后再把上面的结果, 再反转一次, 就是你要的最终结果了。
REVERSE (
SUBSTR ( REVERSE ( 'test_ip_steal' ), POSSTR (REVERSE ( 'test_ip_steal' )+ 1 )
)
我觉得就得写个函数来做这件事情,因为DB2好像没有这种统计特定字符出现字数的函数,自己写个吧,基本算法是这样:1.用locate函数找到逗号
2.substr函数截取逗号之后的字符串
3.调到第一步执行,直到substr取到的字符串为空
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)