T-SQL用户定义函数或类似函数,用于从值列表中计算最大值(日期)

时间:2013-01-03 19:18:11

标签: sql-server tsql stored-procedures user-defined-functions sql-server-2012

假设我有一个我必须查询的来源:

Select Fields 
from TableA A
join TableB B on A.SomeField = B.SomeField
join TableC C on B.SomeField = C.SomeField
Join TableD D on C.SomeField = D.SomeField
Where 
    CustomMaxDateFunction (A.SomeDateField, B.SomeDateField, C.SomeDateField, D.SomeDateField) > '20130101 23:59:00'

我知道我可以将where子句写成类似下面的内容,但我不想:

Where 
  A.SomeDateField > '20130101 23:59:00' 
  OR B.SomeDateField > '20130101 23:59:00' 
  OR C.SomeDateField > '20130101 23:59:00' 
  OR D.SomeDateField > '20130101 23:59:00'

请记住,要比较的列数将根据连接中的源表数量而变化。

关于执行此操作的最简单方法的任何建议,因为我们将不得不重复使用自定义函数(或存储过程)。

0 个答案:

没有答案