2016-03-31 35 views
0

我是新的SQL,我有一個表,該表中列有以下數據如何拆分列數據部分在SQL

/message/charge/392bd2c574-90e7-da9f70ed01b2/text 

我執行我的查詢

select message from emp_data; 

輸出:

/message/charge/392bd2c574-90e7-da9f70ed01b2/text 

,但我只想要

392bd2c574-90e7-da9f70ed01b2 

年產值所以如何通過SQL查詢拆分它

+0

搜索'substring',根據您的數據,您可能還需要'patindex' – HoneyBadger

+0

所以你想要兩個最終'/'s之間的文本? – jarlh

+0

@jarlh:是的,但如何分割它我有很多數據在我的表中,但所有的數據相同** /消息/電荷/ 392bd2c574-90e7-da9f70ed01b2 /文本**,** /消息/電荷/ **和** /文字**是相同的只是改變** 392bd2c574-90e7-da9f70ed01b2 **值 – Sri

回答

1

嘗試SUBSTRING_INDEX功能 -

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('/message/charge/392bd2c574-90e7-da9f70ed01b2/text','/',-2),'/',1); 

您可以使用下面的查詢,包括你的領域和表 -

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(`message`,'/',-2),'/',1) FROM emp_data; 

注:此外,您可以添加其他字段和條件根據您的要求。

+0

它不工作。我的表名是emp_data,列名是message.so如何寫查詢。 – Sri

+0

請檢查更新後的查詢。 –

+0

它顯示** ORA-00904:「SUBSTRING_INDEX」:無效標識符** – Sri