谁能帮我取一下"客户名" ?使用regexp_substr从下面的路径在雪花。这里的客户端名称可以有空格或下划线
s3://student-com/student-to-employee/学生1/Student_Party/20221223/客户端ABC/Employee_1st_data_20221223115427_4048241.csv
s3://student-com/student-to-employee/学生1/Student_Party/20221223/Client_XYZ/Employee_1st_data_20221223115427_4048241.csv
我用的是这样的:
的选择regexp_substr(元数据文件名 , '(.+/)*(.+. csv)的美元,1,1,"e")正如名字
可以使用
select regexp_substr(METADATA$FILENAME, '([^/]+)/[^/]*.csv$', 1,1,'e') as name
参见regex演示。
细节:
([^/]+)
-组1:除/
以外的任何一个或多个字符/
- a/
char[^/]*
-/
以外的零个或多个字符.csv
-.csv
$
-字符串结束
如果客户端名称始终是文件名前面的子文件夹,则可以使用split_part
select split_part(col,'/',-2)