我有这个存储的功能
function GetPrevReading(
@utility int,
@asofdate datetime
) returns decimal(10,5)
此函数从表中返回先前的仪表读数,具有以下字段:
utility - int
date - datetime
reading - numeric(18,4)
当我在此表上使用 select 时,我想将日期设置为参数并从表中获取:
Utility Previous Reading
(distinct) GetPrevReading(utility from query, @date from parameter)
我希望函数 GetPrevReading 从当前行获取参数“实用程序”。是否可以通过查询来完成此操作,或者我应该创建一个存储过程?
例如,这是表:
Utility Date Reading
1 2013-10-1 105.6
1 2013-11-1 123.72
2 2013-10-1 226.1
2 2013-10-1 238.18
现在,如果我将参数 @date 设置为 2013-10-29 我应该得到这个结果:
Utility PreviousReading
1 105.6
2 226.1
在这里,我的函数应该在第一行获得@utility=1 和@asofdate='2013-10-29',在第二行获得@utility=2 和@asofdate='2013-10-29'。