我尝试了以下内容并且有效
选择VendorID
来自供应商
其中regexp_like(Vendor_name || Vendor_Secondary_name || Vendor_Alt_name,' \ d')
;
还有一种方法可以从名称中获取10个数字单词吗?例如,我不需要像2ABC,9street这样的名字。我只需要23街,123街。(
我有一个Vendor
表,其中包含以下字段
VendorID Varchar2(50),
Vendor_Name Varchar2(250),
Vendor_Secondary_Name Varchar2(250),
Vendor_Alt_name Varchar2(250);
使用以下数据:
VendorID Vendor_name Vendor_Secondary_name Vendor_Alt_name
123 1258968954 Alpha Alpha Beta Alpha
456 Sigma Solutuion Sigma suite 9500 Sigma
789 Beta pvt Ltd Beta LTD Beta Alpha
5899 ABC ABC INFO ABC IN 698545896
1222 XYZ XYZ XYZ Inc
我需要一个SQL查询来查找所有供应商ID,其中任何名称字段都有数值。在这种情况下,我需要以下内容:
123
5899
从评论中复制的SQL:
select *
from vendor
where REGEXP_LIKE ((Vendor_name, '^[0-9]*$') or
REGEXP_LIKE (Vendor_secondary_name, '^[0-9]*$') or
REGEXP_LIKE (vendor_alt_name, '^[0-9]*$'));
答案 0 :(得分:1)
select VendorID
from Vendor
where regexp_like (' ' || Vendor_name || ' ' || Vendor_Secondary_name || ' ' || Vendor_Alt_name || ' ','\s\d{10}\s')
;