db2 字符串处理

截取字符串最后一个下划线前面的内容,例如:test_ip_steal,结果为test_ip... 截取字符串最后一个下划线前面的内容,例如:test_ip_steal,结果为test_ip 展开
 我来答
匿名用户
2014-08-12
展开全部
先写一个 REVERSE 函数, 用于字符串反转。
(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 )
)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式