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:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
|
FUNKTION [dbo] ÄNDERN. [udf_getrates_3] (@date Datum/Uhrzeit, @util varchar (50))
ZURÜCKBRINGT @tbl Tabelle (chargerate GELD, Steuer GELD, caprate GELD, ChargeCap Hin- und Herbewegung, StandingDayCharge Geld)
WIE
ANFANGEN
@dw Putzfrau erklären (1)
@dw einstellen = verließ (DATENAME (DW, @date), 1)
@hr int erklären
@hr = datepart (Stunde, @date) einstellen
@tbl einsetzen
Oberseite 1 vorwählen --EffectiveStartDate, EffectiveEndDate,
FALL, WENN @dw = „S“ und ( (@hr zwischen datepart (Stunde, weekenddaystart) und datepart (Stunde, weekenddayend) und isnull (weekenddaycost, 0) <> 0)
oder (@hr NICHT zwischen datepart (Stunde, weekenddaystart) und datepart (Stunde, weekenddayend) und isnull (weekendnightcost, 0) <> 0))
DANN
FALL, WENN @hr zwischen datepart (Stunde, weekenddaystart) und datepart (Stunde, weekenddayend)
DANN weekenddaycost
SONST weekendnightcost
ENDE
SONST
FALL, WENN @hr zwischen datepart (Stunde, weekdaystart) und datepart (Stunde, weekdayend)
DANN weekdaycost
SONST weeknightcost
ENDE
ENDE, climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, 0)
VON EnergySuiteDB.dbo.Rates
wo UtilityName=@util
UND @date zwischen EffectiveStartDate und EffectiveEndDate
Auftrag durch Identifikation desc -- die „letzte“ Reihe erhalten, die das erbetene Datum umfaßt.
wenn @@rowcount = 0
@tbl einsetzen
Oberseite 1 vorwählen --EffectiveStartDate, EffectiveEndDate,
FALL, WENN @dw = „S“ und ( (@hr zwischen datepart (Stunde, weekenddaystart) und datepart (Stunde, weekenddayend) und isnull (weekenddaycost, 0) <> 0)
oder (@hr NICHT zwischen datepart (Stunde, weekenddaystart) und datepart (Stunde, weekenddayend) und isnull (weekendnightcost, 0) <> 0))
DANN
FALL, WENN @hr zwischen datepart (Stunde, weekenddaystart) und datepart (Stunde, weekenddayend)
DANN weekenddaycost
SONST weekendnightcost
ENDE
SONST
FALL, WENN @hr zwischen datepart (Stunde, weekdaystart) und datepart (Stunde, weekdayend)
DANN weekdaycost
SONST weeknightcost
ENDE
ENDE, climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, 0)
VON EnergySuiteDB.dbo.Rates
wo UtilityName=@util
Auftrag durch EffectiveEndDate desc -- höchstes enddate gehört, „die 1“ alle Bedeckung/die Forderungsausfallquote zu rudern.
Rückkehr
ENDE
|