我在DATA列(varchar)中有一些数据,如下所示:
Nowshak 7,485 m Maja e Korabit (Golem Korab) 2,764 m Tahat 3,003 m Morro de Moco 2,620 m Cerro Aconcagua 6,960 m (located in the northwestern corner of the province of Mendoza) Mount Kosciuszko 2,229 m Grossglockner 3,798 m
我想要的是:
7485 2764 3003 2620 6960 2229 3798
IBM DB2 9.5版中是否可以通过执行以下操作来除去/删除所有这些非数字字母:
SELECT replace(DATA, --somekind of regular expression--, '') FROM TABLE_A
或其他方式?
这个问题来自这个问题。
正如另一个问题所建议的那样,TRANSLATE函数可能会有所帮助。例如,尝试以下操作:
select translate('Nowshak 7,485 m','','Nowshakm,') from sysibm.sysdummy1;
返回值:
7 485
稍加调整,就可以达到所需的效果……在函数的第三个参数中,您只需指定整个字母即可。有点丑陋,但可以正常工作。