sách gpt4 ai đã đi

sql - 在字符串中查找第二组数字(SQL/PL-SQL)

In lại 作者:行者123 更新时间:2023-12-04 21:57:13 26 4
mua khóa gpt4 Nike

我有一个可能属于以下类型的字符串

string expected result
15-th-rp 15
15/12-rp 12
15-12-th 12
4-5-6 5

现在我必须找到数字,1) 如果一个字符串只包含 1 个数字集,那么将显示相同的数字。2)如果字符之间有多组数字,那么我必须找到第二组数字。请帮帮我。

  with a as (
select '15-th-rp' as data from dual
union all
select '15/12-rp' from dual
union all
select '15-12-th' from dual
union all
select '4-5-6' from dual
)
select regexp_substr(data,'[0-9]+',REGEXP_INSTR(data,'[/|-]')+1) from a;

1 Câu trả lời

我想这就是你所追求的:

with a as (select '15-th-rp' data from dual union all
select '15/12-rp' data from dual union all
select '15-12-th' data from dual union all
select '4-5-6' data from dual)
select data,
coalesce(regexp_substr(data,'[0-9]+',1,2),
regexp_substr(data,'[0-9]+',1,1)) extracted_data
from a;

DATA EXTRACTED_DATA
-------- --------------
15-th-rp 15
15/12-rp 12
15-12-th 12
4-5-6 5

使用 COALESCE 的好处是它不会评估第二个(以及后续)参数,除非它们是必需的。

关于sql - 在字符串中查找第二组数字(SQL/PL-SQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31963007/

26 4 0
Bài viết được đề xuất: sql - CSV 回车字符
Bài viết được đề xuất: vba - Range 中的值未传递到 UDF 中的数组
Bài viết được đề xuất: excel - 计算日期时间excel
Bài viết được đề xuất: xslt - 在生成 pdf 时通过 XSL 替代表格行颜色
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com