2011-06-29 15 views
1
select mydate as [date],enter as [Enters], left as [lefts], CAST ( CAST ( DATEDIFF (hour, enter, left) as varchar)+':'+ 
CAST ( datediff (MINUTE,enter,left)%60 as varchar) 
as varchar)as [time realizated] from timer where user='xxxx' 

これは、それがSQL Serverで働いていた私のクエリだったが、私は今では私は歴史を持ってこれでは動作しません にアクセスするためのデータベースを変更する必要があります間の時間を取得する方法人例えば時間の2列(アクセス)

date  enters lefts time realizated 
29/06/2011 8:00 9:30 1:30 

答えて

1
select mydate as [date],enter as [Enters], left as [lefts], 

    int((left-enter)*24) & ":" & int((left-enter)*1440) mod 60 as [time realizated] 

from timer where user='xxxx' 

について&(CONCATENATE)を確認してください、とINT()これが書き込みされている場合、私は覚えていないので。 私はので、ここで前に

アクセスはるかに時間にこの日付matematicの多くを使用されるint()(床を意味する)
あなたはceros

でパッドにも必要になります
1

の完全なDateDiff関数の構文は、Accessで異なっています。私は思う:

DateDiff('n',[Enters],[Lefts]) 

時間が分で取得する必要があります。

あなたはあなたができる時間としてそれをしたい場合:

DateAdd('n',DateDiff('n',[Enters],[Lefts]),#00:00:00#) 
関連する問題