-3

我有一个列名为“消息”的LONG TYPE 的表消息列包含如下数据

<trans><body></body>...</trans>

我只想提取<body>标签内的信息并选择它。如何使用 SQL 查询获取该信息?

4

1 回答 1

0

您可以使用 SUBSTR() 来提取它。使用 INSTR() 函数找出body标签从哪里开始,加6来补偿标签长度。对于要转到的字符数,使用另一个 INSTR() 查找结束正文标记,然后减去打开标记长度。

SELECT SUBSTR(my_column, INSTR(my_column,'<body>') + 6,
    INSTR(my_column,'</body>') - INSTR(my_column,'<body>') - 5) AS body_extracted
FROM my_table
于 2017-06-22T05:27:33.843 回答