1
我有类似以下WHERE
条款东西在我的SQL语句的更好的办法:写这个SQL WHERE子句
AND (ipdp.UserID!=dbo.fn_userid(ipdp.ItemID) OR dbo.fn_userid(ipdp.ItemID) IS NULL)
不过,我不喜欢怎么dbo.fn_userid
功能正在跑了两次。我怎样才能改进这一行代码,以便它只需要运行一次?
ipdp.UserID
始终是一个非空的整数值
dbo.fn_userid
可以返回NULL或一个整数值
干杯。
你确定它的运行两次?函数是否有副作用,或者它是否可重复地映射一个值到另一个值? – Rup 2010-11-18 10:00:11
它在我的WHERE子句中有两次,所以据我所知,它运行两次?两次传递相同的参数值,所以我想减少这种用法。 – Curt 2010-11-18 10:02:57
在上面的代码中,只有当()内部的测试为false时,函数才会运行两次。你能更多地展示一下where子句吗? – 2010-11-18 20:38:08