是否可以执行sn ORDER BY
在oracle sql中,在使用 CASE
?
例如:
+------------------+
| Code | DateTime |
+------------------+
| ABC | 7-01-2020 |
+------------------+
| DSF | 7-01-2020 |
+------------------+
| ABC | 6-01-2020 |
+------------------+
我想订这个 Code
是 ABC
然后按顺序订购 DateTime
排在第一位。为什么我不能这么做?
SELECT * FROM TABLE
ORDER BY
CASE
WHEN CODE = 'ABC' THEN '001'
ELSE 'ZZZ'
END
AND DATETIME ASC;
我只能使用 CASE
声明中没有其他内容 ORDER BY
条款。如果我移除 AND DATETIME ASC;
查询将只按 CODE
代码在哪里 ABC
是第一个。
2条答案
按热度按时间jaxagkaj1#
如果用逗号分隔,可以按多个术语排序(
,
),不是AND
:np8igboo2#
通常,您不会将字符串用于
case
表达式:弦乐当然管用。他们看起来很尴尬。