我必须创建一个查询,在该查询中我需要能够执行此操作
select if(filename is like .jpg/gif) as type from pictures;
我基本上需要发送图片的类型,但它们可以是jpg或gif,但我不知道if条件的语法。
试过这个但仍然没有
select fileType, IF(fileType LIKE '%.jpg' OR fileType LIKE '%.gif', 'jpg', 'gif')from Pictures ......
+-------------------------+--------------------------------------------------------------------+
| Picture | type |
+-------------------------+----------------------------------------------------
| 1554588136_vibsbujy.jpg | jpg |
| 1554626891_powioojt.gif | jpg |
两次都是相同的结果
答案 0 :(得分:2)
Select Case
When FileName Like '.jpg%' Or FileName Like '.gif%' Then FileName
End
From Pictures
如果条件得到满足,或者如果条件不满足应该返回什么,则不清楚要返回什么。如果您只想过滤具有这些扩展名的文件,那么您可以执行以下操作:
Select FileName
From Pictures
Where FileName Like '.jpg%'
Or FileName Like '.gif%'
答案 1 :(得分:2)
如果您仍然对IF
语法感兴趣,那么就应该使用它。
SELECT fileType,
IF(fileType LIKE '%.jpg',
'jpg',
IF(filetype LIKE '%.gif',
'gif',
'unknown type')) AS type
FROM Pictures