下記のようなタイムスタンプ(秒単位まで持つデータ)間の差を集計する方法について知りたいです。単純に計算フィールドにて終了日付フィールドー開始日付フィールドで問題ないのでしょうか?
7 件の回答
既に齋藤様やTakanashi様からのご回答がございますが、私からも改めて回答を記載させていただければと存じます。
1レコードの差を出す場合、計算フィールドを作成し、例えば次のようにします。
DATEDIFF('second', [開始日時], [終了日時])
これで「開始日時から終了日時までの差」を秒数で返します。
単位を変えたい場合
分: DATEDIFF('minute', [開始日時], [終了日時])
時: DATEDIFF('hour', [開始日時], [終了日時])
など。
終了日付フィールド - 開始日付フィールド と直接引き算すると、「日数」を表す実数(シリアル値)が返り、表示形式や集計時の扱いがわかりにくくなります。
用途にもよると思いますが、単純な差分だけを求められるのであれば、「終了-開始」よりもDATEDIFF の方が使い勝手がよいようです。