提问人:JanakiRam 提问时间:7/26/2022 最后编辑:JanakiRam 更新时间:7/26/2022 访问量:407
从雪花中的文件路径中提取子字符串
Extract substring from file path in snowflake
问:
我需要从文件路径列表中提取子字符串。路径类似于“\rootfolder\subfolder”。需要提取子字符串作为“rootfolder”(介于第 2 个反斜杠和第 3 个反斜杠之间。
select SUBSTR('\\rootfolder\subfolder\', 3, (REGEXP_INSTR('\\rootfolder\subfolder\','\', 1, 3) - 3)) from table;
但是这个表达方式在《雪花》中并没有给出正确的结果。问题出在反斜杠字符上。
答:
0赞
Lukasz Szozda
7/26/2022
#1
使用SPLIT_PART:
SELECT SPLIT_PART($$\\rootfolder\subfolder\$$, $$\$$, 3);
--
SELECT SPLIT_PART('\\\\rootfolder\\subfolder\\', '\\', 3);
输出:
使用美元报价来避免翻倍。\
评论
0赞
JanakiRam
7/26/2022
感谢您@lukasz回复。我试过 SELECT SPLIT_PART('\\rootfolder\subfolder\', '\', 2) ,但在雪花中不接受单反斜杠。语法错误“意外的”\“语法错误
0赞
Lukasz Szozda
7/26/2022
@JanakiRam 请使用美元报价或第二个版本a检查代码,因为两者都工作正常
评论