在sql语句中执行if elseif

时间:2012-12-18 04:27:04

标签: mysql sql

在我的数据库的表格中,我有一个列存储帖子的状态值。因此,如果发布一个帖子,它是0,草稿= 1,如果尚未由主持人查看 - 它是2,如果它被删除 - 它是3

所以表格如下:

postid | status
----------------
  1        0
  2        1
  3        2

我需要根据每个帖子的状态显示一个图标。我可以在sql查询本身做这样的事情,而不是编写更多的PHP代码:

例如:

select postid as pId, status as status (if status = 0 {status = '<img src="published.png"'} elseif if status =1 {status = '<img src="draft.png"'}

我希望你明白了。 (上面的sql语句只是举例) 可以这样做。

1 个答案:

答案 0 :(得分:2)

您可以使用CASE表达式,如下所示:

select 
  postid as pId, 
  CASE 
    WHEN status = 0 THEN '<img src="published.png"'
    ELSE '<img src="draft.png"' 
  END AS status
FROM table