Mat*_*att 1 sql sql-server performance
SELECT
*
FROM
myTable
WHERE
field1 LIKE 'match0' AND
myfunc(t1.hardwareConfig) LIKE 'match1'
Run Code Online (Sandbox Code Playgroud)
这是我的问题,
field1的匹配快速而快速,但myfunc需要永远返回,我想确保如果field1不匹配,它甚至不会尝试执行myfunc.
SQL会知道这个还是我可以在查询中明确说明?
我正在使用MSSQL 2000,2005和2008,希望有一个共同的答案.
要强制执行评估条件的顺序,请使用以下方法,因为记录了CASE保留评估条件的顺序.
SELECT
*
FROM
myTable
WHERE
CASE WHEN field1 LIKE 'match0' THEN
CASE WHEN myfunc(t1.hardwareConfig) LIKE 'match1'
THEN 1
END
END = 1
Run Code Online (Sandbox Code Playgroud)
以下文章详细解释了它:SQL中的谓词
| 归档时间: |
|
| 查看次数: |
415 次 |
| 最近记录: |