在T-SQL中创建自定义谓词函数?

时间:2013-03-24 12:37:49

标签: sql-server tsql sql-server-2012

是否可以在T-SQL中定义自定义谓词?所以我可以写一下:

SELECT a,b,c 
FROM MyTable
WHERE dbo.myCustomPredicate(a)

一个简单的解决方法是创建一个标量值函数dbo.myCustomPredicate,它返回一个BIT,并将WHERE子句更改为

WHERE dbo.myCustomPredicate(a)=1

只是好奇是否可以避免“= 1”。

1 个答案:

答案 0 :(得分:3)

不,这是不可能的。

SQL Server不支持ANSI SQL布尔数据类型。

您没有说明dbo.myCustomPredicate的实现是什么,但很可能{A}}也应该避免在SQL Server中的可伸缩性和标量UDF的一般性能的基础上。