1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
|
FÖRÄNDRA SIG FUNGERAR [dboen]. [udf_getrates_3] (@datedatetime, varchar @util (50))
RETUR@tbl bordlägger (chargeratePENGAR, uttaxeringPENGAR, capratePENGAR, den ChargeCap flötet, StandingDayCharge pengar)
SOM
BÖRJA
förklara @dwröding (1)
fastställd @dw = lämnat (DATENAME (DW, @date), 1)
förklara @hr int
fastställd @hr = datepart (timme, @date)
sätt in @tbl
välj bästa 1 --EffectiveStartDate EffectiveEndDate,
FALL, NÄR @dw = ”S” och ( (@hr mellan datepart (timme, weekenddaystart) och datepart (timme, weekenddayend) och isnull (weekenddaycost, 0) <> 0)
eller (@hr INTE mellan datepart (timme, weekenddaystart) och datepart (timme, weekenddayend) och isnull (weekendnightcost, 0) <> 0))
DÄREFTER
FALL, NÄR @hr mellan datepart (timme, weekenddaystart) och datepart (timme, weekenddayend)
DÄREFTER weekenddaycost
ANNAN weekendnightcost
AVSLUTA
ANNARS
FALL, NÄR @hr mellan datepart (timme, weekdaystart) och datepart (timme, weekdayend)
DÄREFTER weekdaycost
ANNAN weeknightcost
AVSLUTA
AVSLUTA climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, 0)
FRÅN EnergySuiteDB.dbo.Rates
var UtilityName=@util
OCH @date mellan EffectiveStartDate och EffectiveEndDate
Beställa vid LEGITIMATION desc -- få ”det sist” ror som täcker bedd daterar.
om @@rowcount = 0
sätt in @tbl
välj bästa 1 --EffectiveStartDate EffectiveEndDate,
FALL, NÄR @dw = ”S” och ( (@hr mellan datepart (timme, weekenddaystart) och datepart (timme, weekenddayend) och isnull (weekenddaycost, 0) <> 0)
eller (@hr INTE mellan datepart (timme, weekenddaystart) och datepart (timme, weekenddayend) och isnull (weekendnightcost, 0) <> 0))
DÄREFTER
FALL, NÄR @hr mellan datepart (timme, weekenddaystart) och datepart (timme, weekenddayend)
DÄREFTER weekenddaycost
ANNAN weekendnightcost
AVSLUTA
ANNARS
FALL, NÄR @hr mellan datepart (timme, weekdaystart) och datepart (timme, weekdayend)
DÄREFTER weekdaycost
ANNAN weeknightcost
AVSLUTA
AVSLUTA climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, 0)
FRÅN EnergySuiteDB.dbo.Rates
var UtilityName=@util
beställa vid EffectiveEndDate desc -- högst enddate hör hemma ”ror den 1” all beläggningen/standarden klassar.
retur
AVSLUTA
|