小编McF*_*xit的帖子

Sql - WHERE条件的显式顺序?

有没有办法明确说明发生WHERE条件的顺序?我意识到查询优化器将查看WHERE子句的所有部分,以确定满足查询的最有效方法,如以下答案中所述:

where子句的顺序在SQL中是否重要

SQL - WHERE条件的顺序是否重要?

但是,有没有办法检查其他条件会依赖的条件?这些线程的答案之一涉及到我所追求的,但没有提供解决方案:

select *
from INFORMATION_SCHEMA.TABLES
where ISNUMERIC(table_name) = 1 and CAST(table_name as int) <> 0
Run Code Online (Sandbox Code Playgroud)

这可能会失败,因为可以在确定table_name字段是否为数字之前评估CAST(因此会为无效转换引发错误).

当然必须有办法实现这一目标吗?

sql

6
推荐指数
1
解决办法
305
查看次数

标签 统计

sql ×1