有什么方法可以添加一个错误的`ORDER BY`?

问题描述 投票:0回答:1

我经常添加一个错误的谓词以方便调试,如下所示:

SELECT ...
WHERE 1=1
    AND/OR predicate1
    AND/OR predicate2
    ...etc

这样我就可以注释掉一行或多行,并且我的查询仍然有效。有没有办法对

1=1
执行相当于
ORDER BY
的操作?例如,填写以下内容中的
??

SELECT ...
WHERE ...
ORDER BY ???,
   sort1,
   sort2, 
   ...

我相信几乎所有主流数据库引擎都会优化

1=1
,但我想知道对于故意错误的
ORDER BY
是否也会这样做?

sql relational-database database-agnostic
1个回答
0
投票

按常量排序,并使用前导逗号进行可选的其他排序:

ORDER BY 'x'
   , sort1
   , sort2
© www.soinside.com 2019 - 2024. All rights reserved.