如何从PostgreSQL的文件路径字段中删除带有扩展名的文件名

时间:2019-05-22 04:55:03

标签: postgresql

我在表中有一个图像路径字段,我想获取不带文件名的路径,这是一个扩展名。

我尝试使用特征方式的POSITION,但未获得准确的输出。

LEFT("My_Path", POSITION('\' IN REVERSE("My_Path")) - 1) 

文件路径类似于

\Nikunj\Images\1.png

我的预期结果是

Nikunj\Images\

3 个答案:

答案 0 :(得分:2)

只需使用SUBSTRING

select substring (mypath from '(^.*\\)' ) ;

DEMO

答案 1 :(得分:0)

尝试以下示例,它可以正常工作。

SELECT concat(SPLIT_PART('\ Nikunj \ Images \ 1.png','\',2),'\',SPLIT_PART('\ Nikunj \ Images \ 1.png','\',3), '\')为c2;

答案 2 :(得分:0)

谢谢你,朋友,我为此找到了解决方案,这就是我的解决方案。

concat(RTRIM(REPLACE(My_Path, reverse(substring(reverse(My_Path)  from 1 for strpos(reverse(My_Path),'\')-1)),''),'\'),'\') AS VolumePath 

此解决方案可能会对您有所帮助。

感谢您的回答,朋友们。