想要获取键[工作订单说明:]的值并打印。
使用的脚本:
CREATE TABLE demo3 (id INT, log VARCHAR);
INSERT INTO demo3 (id, log) VALUES
(1, 'Work order submitted on 12-03-2020
Work Order Description:Lights are not working
Work order status:Completed'),
(2, 'Work order submitted on 5-04-2020
Work order Priority:P3
Work Order Description:Electrical equipment issue
Work order status:Completed');
已实施的解决方案: 从demo3中选择id,substr(log,regexp_instr(log,'工作单说明:')+ 23,300)作为日志;
实现的解决方案输出:
id log
1 Lights are not working Work order status:Completed
2 Electrical equipment issue Work order status:Completed
问题: 最后几行也附加到输出。取而代之的是,我希望在行尾处修剪输出。
所需的期望输出:
1, Lights are not working
2, Electrical equipment issue
任何帮助将不胜感激。预先感谢。
答案 0 :(得分:4)
您可以按以下方式使用REGEXP_SUBSTR()
:
WITH data AS (
SELECT 2 AS id, 'Work order submitted on 5-04-2020
Work order Priority:P3
Work Order Description:Electrical equipment issue
Work order status:Completed' AS log
)
SELECT id, REGEXP_SUBSTR(log, 'Work Order Description:(.*)', 1, 1, 'e')
FROM data