我的第一篇文章:(友善) 问题:我需要从包含完整SQL语句的文本字段中提取视图名称,以便可以将该字段链接到其他数据源。目标视图的两侧始终存在两个文本字符串。我希望将它们与子字符串一起用作标识“锚点”,以便从它们之间引入“视图名称”文本。 示例:
from v_mktg_dm.**VIEWNAME** as lead_sql
(我要提取的是大写/粗体) 我尝试使用
SELECT
SUBSTR(SQL_FIELD,INSTR(SQL_FIELD,'FROM V_MKTG_TRM_DM.',19),20) AS PARSED_FIELD
FROM DATABASE.SQL_STORAGE_DATA
但是效果不好- 感谢您的帮助
答案 0 :(得分:1)
您可以应用正则表达式:
RegExp_Substr_gpl(SQL_FIELD, '(v_mktg_dm\.)(.*?)( AS lead_sql)',1,1,'i',2)
这将查找“ v_mktg_dm”之间的字符串。和'AS lead_sql'。
RegExp_Substr_gpl
是RegExp_Substr
的未记录变体,它简化了忽略匹配部分的语法