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 A FUNÇÃO [dbo]. [udf_getrates_3] (datetime do @date, @util varchar (50))
RETORNA a tabela do @tbl (DINHEIRO do chargerate, DINHEIRO da arrecadação, DINHEIRO do caprate, flutuador de ChargeCap, o dinheiro de StandingDayCharge)
COMO
COMEÇAR
declarar o carvão animal do @dw (1)
ajustar o @dw = saiu (DATENAME (DW, @date), 1)
declarar o @hr int
ajustar o @hr = o datepart (hora, o @date)
introduzir o @tbl
selecionar a parte superior 1 --EffectiveStartDate, EffectiveEndDate,
CASO QUANDO @dw = “S” e ( (@hr entre o datepart (hora, weekenddaystart) e o datepart (hora, weekenddayend) e o isnull (weekenddaycost, 0) <> 0)
ou (@hr NÃO entre o datepart (hora, weekenddaystart) e o datepart (hora, weekenddayend) e o isnull (weekendnightcost, 0) <> 0))
ENTÃO
CASO QUANDO @hr entre o datepart (hora, weekenddaystart) e o datepart (hora, weekenddayend)
ENTÃO weekenddaycost
Weekendnightcost OUTRO
EXTREMIDADE
MAIS
CASO QUANDO @hr entre o datepart (hora, weekdaystart) e o datepart (hora, weekdayend)
ENTÃO weekdaycost
Weeknightcost OUTRO
EXTREMIDADE
EXTREMIDADE, climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, 0)
De EnergySuiteDB.dbo.Rates
onde UtilityName=@util
E @date entre EffectiveStartDate e EffectiveEndDate
Ordem pelo desc da identificação -- começ a “última” fileira que cobre a data pedida.
se @@rowcount = 0
introduzir o @tbl
selecionar a parte superior 1 --EffectiveStartDate, EffectiveEndDate,
CASO QUANDO @dw = “S” e ( (@hr entre o datepart (hora, weekenddaystart) e o datepart (hora, weekenddayend) e o isnull (weekenddaycost, 0) <> 0)
ou (@hr NÃO entre o datepart (hora, weekenddaystart) e o datepart (hora, weekenddayend) e o isnull (weekendnightcost, 0) <> 0))
ENTÃO
CASO QUANDO @hr entre o datepart (hora, weekenddaystart) e o datepart (hora, weekenddayend)
ENTÃO weekenddaycost
Weekendnightcost OUTRO
EXTREMIDADE
MAIS
CASO QUANDO @hr entre o datepart (hora, weekdaystart) e o datepart (hora, weekdayend)
ENTÃO weekdaycost
Weeknightcost OUTRO
EXTREMIDADE
EXTREMIDADE, climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, 0)
De EnergySuiteDB.dbo.Rates
onde UtilityName=@util
ordem pelo desc de EffectiveEndDate -- o enddate o mais elevado pertence “para enfileirar 1” toda a taxa da coberta/defeito.
retorno
EXTREMIDADE
|