只执行SELECT语句IF

时间:2014-11-05 20:14:24

标签: mysql sql

所以我试图打印我数据库中的所有评论,但前提是它们已被批准。

我最近听说您可以在SQL中使用if语句,但我不确定它是如何工作的。

这就是我的尝试:

SELECT name, created, comment IF('approved' = 1) FROM table_example WHERE id = 3

它应该只执行语句IF 'approved' = 1

我可以做这样的事情还是离开?

3 个答案:

答案 0 :(得分:3)

SELECT name, created, comment FROM table_example WHERE id = 3 AND approved = 1

或者我错过了什么?

答案 1 :(得分:2)

你可以这样做:

SELECT name, created, 
    CASE
        WHEN approved = 1 THEN comment 
        ELSE NULL 
    END as comment
FROM table_example 
WHERE id = 3

如果评论未获批准,您可以将NULL替换为您希望显示的默认值。

答案 2 :(得分:0)

我相信您正在寻找DECODECASE运算符,因为它们是IF/ELSE语句的SQL等价物。