CASE END AS导致服务器错误

时间:2017-02-14 21:46:53

标签: mysql

我花了半天的时间试图弄清楚这一点,我仍然感到困惑。我正在查询一张大桌子。当我没有“AS'案件结束后。

这不起作用,导致代码500的服务器错误

SELECT shade,pattern,
CASE 
WHEN colour = 'red' THEN 'hot'
WHEN colour = 'orange' THEN 'hot'
WHEN colour = 'blue' THEN 'cold'
WHEN colour = 'white' THEN 'cold'
ELSE 'UKNOWN'
END AS colourTemp,
texture
FROM tableTest

这有效

SELECT shade,pattern,
CASE 
WHEN colour = 'red' THEN 'hot'
WHEN colour = 'orange' THEN 'hot'
WHEN colour = 'blue' THEN 'cold'
WHEN colour = 'white' THEN 'cold'
ELSE 'UKNOWN'
END,
texture
FROM tableTest

我当前的服务器有mysql 5.6。我尝试了在mariaDb的服务器上无效的查询,它没有错误

1 个答案:

答案 0 :(得分:0)

试试这个(案例值不应该是表达式的一部分):

SELECT shade,pattern,
  CASE colour
    WHEN 'red' THEN 'hot'
    WHEN 'orange' THEN 'hot'
    WHEN 'blue' THEN 'cold'
    WHEN 'white' THEN 'cold'
    ELSE 'UKNOWN'
  END AS colourTemp,
texture
FROM tableTest;