我经常添加一个错误的谓词以方便调试,如下所示:
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
是否也会这样做?
按常量排序,并使用前导逗号进行可选的其他排序:
ORDER BY 'x'
, sort1
, sort2