我有一个用户定义的函数(例如myUDF(a,b)
) 返回一个整数。
我试图确保该函数仅被调用一次,并且其结果可以用作WHERE
clause:
SELECT col1, col2, col3,
myUDF(col1,col2) AS X
From myTable
WHERE x>0
SQL Server 尝试检测x
作为列,但它实际上是计算值的别名。
如何重写此查询,以便可以对计算值进行过滤,而无需多次执行 UDF?
With Tbl AS
(SELECT col1, col2, col3, myUDF(col1,col2) AS X
From table myTable )
SELECT * FROM Tbl WHERE X > 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)