ОК, вы можете использовать regexp_replace
для удаления file
и только зарезервировать путь dir, так как мы знаем, что имя файла не содержит символа '/' и всегда находится в конце пути dir, таким образом, регулярное выражение может быть записано как '[^/]+$'
, примеры приведены ниже, это означает, что заменить подстроку регулярным выражением '[^/]+$'
на пустую ''
.
select regexp_replace('/this/is/my/dir/file','[^/]+$','') as dir;
+-------------------+
| dir |
+-------------------+
| /this/is/my/dir/ |
+-------------------+
select regexp_replace('this/is/my/another/dir/file','[^/]+$','') as dir;
+--------------------------+
| dir |
+--------------------------+
| this/is/my/another/dir/ |
+--------------------------+