2016-04-29 169 views
0

在DB2 V10我有一個表下列列值:如何提取兩個管道字符之間的字符串?

POST:https:Booking:":getDetails"|26c4ebad-f727-4e59-bcff-3232230ad155|6f9bffbc:85 

我需要提取兩者之間的串「|」字符作爲select語句中的新列。 DB2似乎沒有內置的正則表達式支持。到目前爲止,我發現類似於正則表達式的函數可以使用外部庫註冊到DB2,但文章相當老舊,而且事情可能已經發生變化。什麼是最簡單的方法來完成這個?最佳性能的方法是什麼?如果我必須添加外部庫,是否有一個很好的文檔說明如何在可能的情況下使用已經編譯的庫來添加和使用它們?

注意:DB2運行在Linux英特爾機器上。

+1

如果它總是兩個管道,你不需要正則表達式嗎? – mustaccio

+0

echo「POST:https:Booking:」:getDetails「| 26c4ebad-f727-4e59-bcff-3232230ad155 | 6f9bffbc:85」| sed's /.* | \(。* \)|。*/\ 1 /' – sjsam

+0

AS @mustaccio說,你可以使用'SUBSTR'和'LOCATE'的組合。 – Stavr00

回答

1

您可能從here獲得幫助。只需要把你的字符串名稱和管道字符,並根據你的需要調整查詢。

相關問題