在SELECT中使用时,CASE“NOT NULL”的mysql语法

时间:2015-07-30 14:49:28

标签: mysql

我正在尝试在'NOT NULL'语句中使用CASE SELECT,但我不断收到此错误消息:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本以获得正确的语法

SELECT 
        u.id,
                CASE  ph.thumbsize WHEN NULL THEN ph.thumbsize ELSE 'defaultpicture.jpg'

            FROM
            user u  
            LEFT OUTER JOIN
                list_photos ph
        ON 
                u.id = ph.userId;

我也为CASE尝试了这些不同的格式:

(CASE WHEN ph.thumbsize IS NOT NULL THEN 'ph.thumbsize' ELSE
 'defaultpicture.jpg')as picture       

           CASE WHEN ph.thumbsize IS NOT NULL THEN ph.thumbsize ELSE defaultpicture.jpg

3 个答案:

答案 0 :(得分:1)

您错过了END以及其他一些小问题。尝试:

SELECT 
    u.id,
    CASE WHEN (ph.thumbsize IS NULL) THEN 
        'defaultpicture.jpg'
    ELSE
        ph.thumbsize
    END AS picture
FROM
    user u  
LEFT OUTER JOIN
    list_photos ph
ON 
    u.id = ph.userId;

答案 1 :(得分:0)

试试这个:

SELECT 
    u.id,
            CASE  ph.thumbsize WHEN NULL THEN ph.thumbsize ELSE 'defaultpicture.jpg' END

        FROM
        user u  
        LEFT OUTER JOIN
            list_photos ph
    ON 
            u.id = ph.userId;

在CASE中,您需要通过END

关闭它

答案 2 :(得分:0)

为什么不使用IFNULL

...,IFNULL(ph.thumbsize,'defaultpicture.jpg')AS图片,...