簡體   English   中英

如何在Oracle SQL中使用REGEX檢索十進制后的特定字符?

[英]How to retrieve specific chars after decimal using REGEX in Oracle SQL?

我在Oracle 11g的View中使用RegEx,並且需要顯示某些在第8位帶有“ S”的代碼。

使用https://regexr.com/2v41h

我能夠使用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

預先感謝您的幫助。

我在想:

select substr(code, -8)
from t
where code like '%_______S'

如果代碼總是足夠長,只需使用'%S'

或者,作為一個case表達:

select (case when code like '%_______S' then substr(code, -8) end)

如果code包含其他字符,則將需要正則表達式,但是可能不需要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM