我需要制作一个REGEX_SUBSTR查询来获取SKU项目编号的最后两个数字,我真的很新,因为我的老板把我扔进了一个我根本不太了解的项目。所以原谅我的无知。
示例SKU:
AD-001250-12
AD-115QW0120-24
DGS1-55DF-6
DGS1-55DF-50
SKU可以看起来像上面的示例,我需要使用正则表达式substring查询来获取每个字符串的最后两位数字。感谢您的帮助,因为我对语法不熟悉,对此没有任何经验! :)
答案 0 :(得分:0)
如果您只想在最后的连字符后面找到所有内容,那么您实际上并不需要正则表达式。只需一个简单的gulp.src('./projects/*')
和instr
substr
with sku_table as (
select 'AD-001250-12' sku from dual union all
select 'AD-115QW0120-24' from dual union all
select 'DGS1-55DF-6' from dual union all
select 'DGS1-55DF-50' from dual union all
select 'ABC-11543-123' from dual
)
select substr( sku,
instr(sku,'-', -1) + 1, -- last hyphen
length(sku) )
from sku_table
返回字符串中最后一个连字符的位置。添加一个以获取下一个字符。然后,您的instr(sku,'-', -1)
调用将最后一个连字符后的所有内容都添加到字符串的末尾。如果你想获得" 23"那么你可以从中得到最后两个字符。而不是" 123"对于最后一个SKU,但这增加了更多的复杂性。
此处显示example sqlfiddle此查询正在运行