我需要创建一个Oracle数据库函数,以字符串作为参数。该字符串包含字母和数字。我需要从这个字符串中提取所有的数字。例如,如果我有一个像RO1234这样的字符串,我需要能够使用一个函数,比如extract_number('RO1234')
,结果将是1234。
更具体地说,这是使用此函数的SQL查询的类型。
SELECT DISTINCT column_name, extract_number(column_name)
FROM table_name
WHERE extract_number(column_name) = 1234;
问题:我该如何将此类函数添加到我的Oracle数据库中,以便能够像上面的示例一样使用它,使用任何Oracle SQL Developer或SQLTools客户端应用程序?
regex_replace
,例如SELECT REGEXP_REPLACE(column_name,'[[:alpha:]]') from tbl
。至少你应该在谷歌上搜索一下,参考这个链接(https://community.oracle.com/thread/598281),Oracle社区提供了一些有用的方法。 - Vivek S.table_name
周围使用了单引号(可能还在column_name
周围不正确地使用了单引号)。此外,当您已经在WHERE
条件中指定了提取的数字时,为什么还要将其列出在列列表中呢? - Hilarion