是否可以在T-SQL中定义自定义谓词?所以我可以写一下:
SELECT a,b,c
FROM MyTable
WHERE dbo.myCustomPredicate(a)
一个简单的解决方法是创建一个标量值函数dbo.myCustomPredicate,它返回一个BIT,并将WHERE子句更改为
WHERE dbo.myCustomPredicate(a)=1
只是好奇是否可以避免“= 1”。
答案 0 :(得分:3)
不,这是不可能的。
SQL Server不支持ANSI SQL布尔数据类型。
您没有说明dbo.myCustomPredicate
的实现是什么,但很可能{A}}也应该避免在SQL Server中的可伸缩性和标量UDF的一般性能的基础上。