如何从列中提取特定字符串
How to extract a specific string from a column
我正在尝试提取以 'A0' 开头的特定字符串,并返回字符串 A0 以及 table 中列中的其余 9 个值。我需要在 table.
的声明注释列中提取授权号
我正在尝试使用 regexp_substr 函数。我想在 table 的 clm_notes 列中提取以 'A0' 开头的任何字符串。
SELECT
regexp_substr(CLM_NOTES, '[^A0]+', 1,1) as auth_num
FROM claims_table
这是该列在 table
中的样子
Clm_notes column
New Auth from auth - A071869573
我想要的期望结果是提取以 'A0'
开头的字符串
A071869573
您将需要以下内容:
SELECT
regexp_substr(CLM_NOTES, 'A0.*$', 1,1) as auth_num
FROM claims_table
或者如果 A0 之后的所有字符都是数字:
SELECT
regexp_substr(CLM_NOTES, 'A0[0-9]*$', 1,1) as auth_num
FROM claims_table
另一种更快的方法可能是:
SELECT
substr(CLM_NOTES, instr(CLM_NOTES,'A0')) as auth_num
FROM claims_table
与其匹配你想要的,不如匹配你不想要的并删除它:
select
regexp_replace(CLM_NOTES, '.*- A0', 'A0') as auth_num
from claims_table
这会匹配 '- A0'
之前的所有内容,包括 '- A0'
并将其替换为 'A0'
,有效地删除 'A0'
.
之前的所有内容
我正在尝试提取以 'A0' 开头的特定字符串,并返回字符串 A0 以及 table 中列中的其余 9 个值。我需要在 table.
的声明注释列中提取授权号我正在尝试使用 regexp_substr 函数。我想在 table 的 clm_notes 列中提取以 'A0' 开头的任何字符串。
SELECT
regexp_substr(CLM_NOTES, '[^A0]+', 1,1) as auth_num
FROM claims_table
这是该列在 table
中的样子Clm_notes column
New Auth from auth - A071869573
我想要的期望结果是提取以 'A0'
开头的字符串A071869573
您将需要以下内容:
SELECT
regexp_substr(CLM_NOTES, 'A0.*$', 1,1) as auth_num
FROM claims_table
或者如果 A0 之后的所有字符都是数字:
SELECT
regexp_substr(CLM_NOTES, 'A0[0-9]*$', 1,1) as auth_num
FROM claims_table
另一种更快的方法可能是:
SELECT
substr(CLM_NOTES, instr(CLM_NOTES,'A0')) as auth_num
FROM claims_table
与其匹配你想要的,不如匹配你不想要的并删除它:
select
regexp_replace(CLM_NOTES, '.*- A0', 'A0') as auth_num
from claims_table
这会匹配 '- A0'
之前的所有内容,包括 '- A0'
并将其替换为 'A0'
,有效地删除 'A0'
.