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:
|
ALTERAR LA FUNCIÓN [dbo]. [udf_getrates_3] (fecha y hora del @date, @util varchar (50))
VUELVE la tabla del @tbl (DINERO del chargerate, DINERO de la recaudación, DINERO del caprate, flotador de ChargeCap, el dinero de StandingDayCharge)
COMO
COMENZAR
declarar el carbón de leña del @dw (1)
fijar el @dw = se fue (DATENAME (DW, @date), 1)
declarar el @hr internacional
fijar el @hr = el datepart (hora, el @date)
insertar el @tbl
seleccionar la tapa 1 --EffectiveStartDate, EffectiveEndDate,
CASO CUANDO @dw = “S” y ( (@hr entre el datepart (hora, weekenddaystart) y datepart (hora, weekenddayend) e isnull (weekenddaycost, 0) <> 0)
o (@hr NO entre el datepart (hora, weekenddaystart) y datepart (hora, weekenddayend) e isnull (weekendnightcost, 0) <> 0))
ENTONCES
CASO CUANDO @hr entre el datepart (hora, weekenddaystart) y el datepart (hora, weekenddayend)
ENTONCES weekenddaycost
Weekendnightcost OTRO
EXTREMO
CASO CUANDO @hr entre el datepart (hora, weekdaystart) y el datepart (hora, weekdayend)
ENTONCES weekdaycost
Weeknightcost OTRO
EXTREMO
EXTREMO, climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, 0)
De EnergySuiteDB.dbo.Rates
donde UtilityName=@util
Y @date entre EffectiveStartDate y EffectiveEndDate
Orden por el desc de la identificación -- conseguir la fila “pasada” que cubre la fecha pedida.
si @@rowcount = 0
insertar el @tbl
seleccionar la tapa 1 --EffectiveStartDate, EffectiveEndDate,
CASO CUANDO @dw = “S” y ( (@hr entre el datepart (hora, weekenddaystart) y datepart (hora, weekenddayend) e isnull (weekenddaycost, 0) <> 0)
o (@hr NO entre el datepart (hora, weekenddaystart) y datepart (hora, weekenddayend) e isnull (weekendnightcost, 0) <> 0))
ENTONCES
CASO CUANDO @hr entre el datepart (hora, weekenddaystart) y el datepart (hora, weekenddayend)
ENTONCES weekenddaycost
Weekendnightcost OTRO
EXTREMO
CASO CUANDO @hr entre el datepart (hora, weekdaystart) y el datepart (hora, weekdayend)
ENTONCES weekdaycost
Weeknightcost OTRO
EXTREMO
EXTREMO, climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, 0)
De EnergySuiteDB.dbo.Rates
donde UtilityName=@util
orden por el desc de EffectiveEndDate -- el enddate más alto pertenece “para remar 1” toda la tarifa de la cubierta/de defecto.
vuelta
EXTREMO
|