識別字串中字元的位置可能是資料操作中的常見挑戰。為了解決這個問題,該問題探討了一個場景,其中需要從表列中提取直到特定字元(在本例中為下劃線 ('_'))的子字串。
使用 SUBSTRING 函數的初始方法被證明是不夠的,因為它依賴於基於位置的選擇。由於給定範例中下劃線的位置有所不同,因此此方法無法一致地檢索所需的子字串。
RTRIM 函數的考慮,旨在從右側刪除一組特定的字符,最初似乎很有希望。但是,除非將 RTRIM 函數與其他方法結合使用,否則它無法隔離下劃線之前的字元。
解決方案在於將 SUBSTR 函數與 INSTR(識別字元位置)和 NVL(處理空值)結合。以下程式碼示範了這種方法:
SELECT NVL(SUBSTR('ABC_blah', 0, INSTR('ABC_blah', '_')-1), 'ABC_blah') AS output FROM DUAL
以上是如何在 Oracle SQL 中提取下劃線之前的子字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!