在 SELECT 中使用时 CASE 'NOT NULL' 的 mysql 语法

标签 mysql

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

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax

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

最佳答案

除其他小问题外,您还缺少 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;

关于在 SELECT 中使用时 CASE 'NOT NULL' 的 mysql 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31727044/

相关文章:

php - MySQL数据库结构

php - 使用 php 和 mysql 构建网站的更有效方法(兑现还是查询?)

mysql - 如何连接这两个查询?找出谁有相同的名字和姓氏以及有多少人

php - 用 PHP 显示导航栏

php - 如何在codeigniter中不同表的两列之间使用逻辑运算符?

php - 为什么数据库没有反射(reflect) php INSERT 所做的更改?

PHP bindParam 似乎不适用于 PARAM_INT 输出参数

MySQL 更新未更新

mysql - SQL:KEY id_2 有什么作用?

MySQL 无法识别 WHERE 中的日期时间索引