Pytanie : Zdrowie psychiczne Czek na UDF Modyfikacja

I modyfikować mój UDF ekstra tempo dla the weekendowy daya i noc. The tempo musieć teraz teraz dla dzień/noc wtedy noc który the dzień powszedni rates.

Does ten spojrzenie poprawny:
(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

Odpowiedź : Zdrowie psychiczne Czek na UDF Modyfikacja

Dobrze, I myśleć ono potrzebować the dodatek w tam…

W Ten Sposób, mieć spojrzenie przy:
(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
Inne rozwiązania  
 
programming4us programming4us