0

我正在做一些需要截断 DB2 基于字符的字段的工作。本质上,我需要丢弃在第一个字母字符处或之后找到的所有文本。

例如

102048994BLAHBLAHBLAH

变成:-

102048994

在 SQL Server 中,这将是一件轻而易举的事情——PATINDEX 会突然介入并挽救局面。很多庆祝活动将接踵而至。

我的问题是我需要在 DB2 中执行此操作。更糟糕的是,结果需要在连接查询中使用,在 DB2 中也是如此。我找不到一个简单的方法来做到这一点。DB2 中是否有等价的 PATINDEX?

有没有其他方法可以解决这个问题?

如果需要,我将硬编码 26 个链式 LOCATE 函数以获得我的结果,但如果有更好的方法,我会全力以赴。

4

2 回答 2

1
SELECT TRANSLATE(lower(column), ' ', 'abcdefghijklmnopqrstuvwxyz') 
FROM table
于 2011-02-11T03:28:44.913 回答
0

用 C 或 JAVA 编写一个小的 UDF(用户定义函数)来完成您的任务。
彼得

于 2010-05-03T07:14:14.293 回答