(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: 54: 55: 56: 57:
USE [EnergySuiteDB] IŚĆ /****** Przedmiot: UserDefinedFunction [dbo]. [udf_getrates_3] Pismo Data: 07/21/2010 15:37: 38 ******/ SET ANSI_NULLS DALEJ IŚĆ USTAWIAĆ QUOTED_IDENTIFIER DALEJ IŚĆ --*********************** FUNKCJA ***********************-- ZMIENIAĆ FUNKCJA [dbo]. [udf_getrates_3] (@date datetime, @util varchar (50)) POWRÓT @tbl stół (chargerate PIENIĄDZE, pobór PIENIĄDZE, caprate PIENIĄDZE, ChargeCap pławik, StandingDayCharge pieniądze) ZACZYNAĆ wkładać @tbl wybierać Wierzchołek (1) --EffectiveStartDate, EffectiveEndDate, SKRZYNKA GDY opuszczać (DATENAME (DW, @date), 1) = "S" i isnull (weekenddaycost, (0)) <> (0) WTEDY SKRZYNKA GDY datepart (godzina, @date) między datepart (godzina, weekenddaystart) i datepart (godzina, weekenddayend) WTEDY weekenddaycost INNY weekendnightcost KOŃCÓWKA INNY SKRZYNKA GDY datepart (godzina, @date) między datepart (godzina, weekdaystart) i datepart (godzina, weekdayend) WTEDY weekdaycost INNY weeknightcost KOŃCÓWKA KOŃCÓWKA, climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, (0)) OD EnergySuiteDB.dbo.Rates dokąd UtilityName=@util I @date między EffectiveStartDate i EffectiveEndDate Rozkaz ID desc -- dostawać the "ostatni" rząd który zakrywać the prosić data. jeżeli @@rowcount = (0) wszywka @tbl wybrany Wierzchołek (1) --EffectiveStartDate, EffectiveEndDate, SKRZYNKA GDY opuszczać (DATENAME (DW, @date), 1) = "S" i isnull (weekenddaycost, (0)) <> (0) WTEDY SKRZYNKA GDY datepart (godzina, @date) między datepart (godzina, weekenddaystart) i datepart (godzina, weekenddayend) WTEDY weekenddaycost INNY weekendnightcost KOŃCÓWKA INNY SKRZYNKA GDY datepart (godzina, @date) między datepart (godzina, weekdaystart) i datepart (godzina, weekdayend) WTEDY weekdaycost INNY weeknightcost KOŃCÓWKA KOŃCÓWKA, climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, (0)) OD EnergySuiteDB.dbo.Rates dokąd UtilityName=@util rozkaz EffectiveEndDate desc -- wysoki enddate należeć "(1)" the wszystkie nakrycie/brak tempo. powrót KOŃCÓWKA
(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:
ZMIENIAĆ FUNKCJA [dbo]. [udf_getrates_3] (@date datetime, @util varchar (50)) POWRÓT @tbl stół (chargerate PIENIĄDZE, pobór PIENIĄDZE, caprate PIENIĄDZE, ChargeCap pławik, StandingDayCharge pieniądze) ZACZYNAĆ oznajmiać @dw char (1) ustawiać @dw = opuszczać (DATENAME (DW, @date), 1) oznajmiać @hr int ustawiać @hr = datepart (godzina, @date) wkładać @tbl wybierać Wierzchołek (1) --EffectiveStartDate, EffectiveEndDate, SKRZYNKA GDY @dw = "S" i ( (@hr między datepart (godzina, weekenddaystart) i datepart (godzina, weekenddayend) i isnull (weekenddaycost, (0)) <> (0)) lub (@hr NIE między datepart (godzina, weekenddaystart) i datepart (godzina, weekenddayend) i isnull (weekendnightcost, (0)) <> (0))) WTEDY SKRZYNKA GDY @hr między datepart (godzina, weekenddaystart) i datepart (godzina, weekenddayend) WTEDY weekenddaycost INNY weekendnightcost KOŃCÓWKA INNY SKRZYNKA GDY @hr między datepart (godzina, weekdaystart) i datepart (godzina, weekdayend) WTEDY weekdaycost INNY weeknightcost KOŃCÓWKA KOŃCÓWKA, climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, (0)) OD EnergySuiteDB.dbo.Rates dokąd UtilityName=@util I @date między EffectiveStartDate i EffectiveEndDate Rozkaz ID desc -- dostawać the "ostatni" rząd który zakrywać the prosić data. jeżeli @@rowcount = (0) wszywka @tbl wybrany Wierzchołek (1) --EffectiveStartDate, EffectiveEndDate, SKRZYNKA GDY @dw = "S" i ( (@hr między datepart (godzina, weekenddaystart) i datepart (godzina, weekenddayend) i isnull (weekenddaycost, (0)) <> (0)) lub (@hr NIE między datepart (godzina, weekenddaystart) i datepart (godzina, weekenddayend) i isnull (weekendnightcost, (0)) <> (0))) WTEDY SKRZYNKA GDY @hr między datepart (godzina, weekenddaystart) i datepart (godzina, weekenddayend) WTEDY weekenddaycost INNY weekendnightcost KOŃCÓWKA INNY SKRZYNKA GDY @hr między datepart (godzina, weekdaystart) i datepart (godzina, weekdayend) WTEDY weekdaycost INNY weeknightcost KOŃCÓWKA KOŃCÓWKA, climateChangeLevyRate, ((chargeablecapacity*capacityrate)), chargeablecapacity, isnull (StandingDayCharge, (0)) OD EnergySuiteDB.dbo.Rates dokąd UtilityName=@util rozkaz EffectiveEndDate desc -- wysoki enddate należeć "(1)" the wszystkie nakrycie/brak tempo. powrót KOŃCÓWKA