【发布时间】:2012-11-05 11:26:27
【问题描述】:
这在 MySQL 5 中可以正常工作:
SELECT INSTR(foo, 'Bar') as foobar
FROM Table
ORDER BY CASE WHEN foobar = 1 THEN foo END DESC;
在 MySQL 4 中,我收到错误:
ERROR 1054 (42S22): Unknown column 'foobar' in 'order clause'
但是,如果我将子句更改为此,它将适用于两个版本:
SELECT INSTR(foo, 'Bar') as foobar
FROM Table
ORDER BY CASE WHEN INSTR(foo, 'Bar') = 1 THEN foo END DESC;
为了确保兼容性,我必须始终使用第二种方式吗?
【问题讨论】:
-
感谢@stackmonster,我不知道如何描述错误。
标签: mysql sql sql-order-by case