mysql如果条件

时间:2010-08-23 16:23:30

标签: mysql

我必须创建一个查询,在该查询中我需要能够执行此操作

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                                                                |

两次都是相同的结果

2 个答案:

答案 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