我在Oracle 11g的View中使用RegEx,我需要显示某些在第8位带有'S'的代码。
我能够显示这些结果
REGEXP_SUBSTR(code, '\S{8}')
Y38.9X2S
Y38.9X2D
Y38.9X2A
Y38.9X1S
我的问题是,我只需要返回最后一个位置带有“ S”的值,该位置是计算小数点的第8个位置。我应该使用什么表情?
示例:
Y38.9X2S
Y38.9X1S
我尝试过:
REGEXP_SUBSTR(code, '\b[S]*[8]\b') AS CODE
预先感谢您的帮助。
答案 0 :(得分:0)
我在想:
select substr(code, -8)
from t
where code like '%_______S'
如果代码总是足够长,只需使用'%S'
。
或者,作为case
表达式:
select (case when code like '%_______S' then substr(code, -8) end)
如果code
包含其他字符,则将需要正则表达式,但可能不需要。