CASE'的mysql语法;非空';在SELECT中使用时
我试图在CASE'的mysql语法;非空';在SELECT中使用时,mysql,Mysql,我试图在SELECT语句中使用CASE'notnull',但我一直收到以下错误消息: 您的SQL语法有错误;检查手册 对应于正确语法的MySQL服务器版本 我还尝试了案例的这些不同格式: (CASE WHEN ph.thumbsize IS NOT NULL THEN 'ph.thumbsize' ELSE 'defaultpicture.jpg')as picture CASE WHEN ph.thumbsize IS NOT NULL THEN ph.
SELECT
语句中使用CASE'notnull'
,但我一直收到以下错误消息:
您的SQL语法有错误;检查手册
对应于正确语法的MySQL服务器版本
我还尝试了案例
的这些不同格式:
(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
试试这个:
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;
如果您需要在结束前关闭它,除了其他一些小问题外,您还缺少一个结束。尝试:
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;
为什么不使用:
…,如果NULL(ph.thumbsize,'defaultpicture.jpg')作为图片,
结束案例
用于,而不是用于。嘿,Fabien。这比实际情况快吗?两者之间没有明显区别。只是更容易编码。或者您也可以用同样的方法使用合并<代码>合并
在内部转换为大小写
语句
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;