1

私のテーブルは:

Logtime              Energy
-------------------  --------
2013-02-22 15:30:00  36883.79
2013-02-21 17:30:00  36767.68
2013-02-20 17:30:00  35447.97
2013-02-19 17:30:00  34170.04
2013-02-18 15:30:00  32663.54
2013-02-15 17:30:00  31649.39
2013-02-13 17:30:00  29091.99
2013-02-12 17:30:00  27807.49

2つのlogtime値の差を取得する必要があります。

例えば:

2013-02-18 15:30:00との間のエネルギー差2013-02-22 15:30:00はです4220.25

私はこのように試しました:

declare @energy varchar(30)
declare @min int
declare @max int
declare @result varchar(30)
select Logtime,Energy from PLENE_EnergySum order by Logtime desc
set @min=cast((select min(Energy) as [Energy] from PLENE_EnergySum where Logtime between
 '2013-02-22 15:30:00' and  '2013-02-18 15:30:00')as int)
set @max=cast((select max(Energy) as [Energy] from PLENE_EnergySum where Logtime between
'2013-02-22 15:30:00' and  '2013-02-18 15:30:00')as int)
set @result=@max-@min
insert into weekreport values('Fourth',@result) 

weekreportテーブルでnull値を取得します

week    energy
------  ------
Fourth  NULL
4

1 に答える 1

0

set @first=Cast(Year(getdate())as varchar(10))+'-'+Cast(Month(getdate())as varchar(10))+'-'+'01'

set @st=Cast(Year(getdate())as varchar(10))+'-'+Cast(Month(getdate())as varchar(10))+'-'+'08'

set @st1=Cast(Year(getdate())as varchar(10))+'-'+Cast(Month(getdate())as varchar(10))+'-'+'15'

@st2=Cast(Year(getdate())as varchar(10))+'-'+Cast(Month(getdate())as varchar(10))+'-'+'22' を設定します。

set @st3=Cast(Year(getdate())as varchar(10))+'-'+Cast(Month(getdate())as varchar(10))+'-'+'32'

set @min=(Logtime>@first および Logtime<@st である PLNE_EnergySum から [Energy] として min(Energy) を選択)

set @max=(Logtime>@first および Logtime<@st である PLNE_EnergySum から [Energy] として max(Energy) を選択)

@result=@max-@min を設定

週レポート (週、エネルギー) 値 ('First'、@result) に挿入します。

上の表の答え:

最初の 961.1

于 2013-02-27T12:03:13.703 に答える