0

グリッドビューがあり、グリッドビューの列の1つは「最終チェック済み」と呼ばれ、これは単にデータベースの日時フィールドです。

「最後にチェックした」列に、日付と時刻を表示する代わりに、「7日」、「1時間」、「7分」などを表示したいと思っていました。

私のgrdView_RowDataBoundサブ(または簡単な場合はSQL)で...これを行う最も簡単な方法を誰かが知っていますか?

ありがとう、

4

2 に答える 2

0

OK、CAST(DATEDIFF(mi、GETDATE()、GETDATE()+ 1)AS VARCHAR)のようなものを使用してSQLでこれを解決できると思います

分単位で違いを教えてから、grdView_RowDataBoundsubを使用してそこから取得します

ありがとう。

于 2013-01-28T11:12:01.317 に答える
0

Sql-Serverを使用している場合は、とを使用してクエリ自体から実行できDATEDIFFますCASE

last_checked日時から1日以上の場合は時間を無視し、1時間以上の場合は分を無視する必要があると仮定すると、これを試すことができます。

--Some data to work with
declare @t table ([last_checked] datetime)
insert into @t ([last_checked]) values ('20130127 09:15:21'),('20130128 09:15:21'),('20130128 11:25:21')

--Query
select case when totMinutes >= 60*24 then 
                 convert(varchar(12), totMinutes/(60*24)) + ' day(s)'
            when totMinutes >= 60 then 
                 convert(varchar(12), totMinutes/(60)) + ' hour(s)'
       else convert(varchar(12), totMinutes) + ' min(s)' end timingCol
from (
     select datediff(minute,[last_checked],getdate()) totMinutes
from @t ) X
于 2013-01-28T12:02:25.483 に答える