0

假设我们在 img_name 列中有以.jpg.jpg.png.png结尾的文件名:

test.jpg
test.png
test.jpg.png
test2.jpg
test.3.jpg
test.3.png
test.3.jpg.png

我只想选择以 .jpg、.png.jpg.png 形式提供的那些。所以,请求应该只显示

test, test.3

切断它的任何结尾,但名称也可以在名称中间的某处包含点,如示例 (test.3) 中所示。

我已经有了

select img_name from image where (img_name like '%.jpg' or img_name like '%.png');

我认为可以用于此。

任何想法如何做到这一点?

谢谢。

4

1 回答 1

0

好吧,如果您的表中只有.jpg,.png.jpg.png扩展名,您可以这样做

select
   replace(replace(img_name, '.png', ''), '.jpg', '') as name
from image
group by replace(replace(img_name, '.png', ''), '.jpg', '')
having count(*) = 3

SQL 提琴示例

于 2013-07-28T11:18:20.177 回答