SQL 経過日数や経過時間を求める DateDiff関数

DateDiff関数の使用例サンプル

DateDiff関数を使うと経過時間や日数を取得できます。

構文: DateDiff(interval, date1, date2)
intervalで単位を指定します
yyyy : 年
q : 四半期
m : 月
y : 年間通算日
d : 日
w : 週日
ww :週
h : 時
n : 分
s: 秒



BackHome BackSQL Tips

サンプルソフト
■実行画面
ボタンをクリックすると、「登録日」から現在の日付(Now)までの経過日数、経過月、経過年数を表示します。
DateDiff使用方法のフォーム

■実行結果
2008/09/27 : 日26 : 月1 : 年0
2008/01/05 : 日292 : 月9 : 年0
2006/08/20 : 日795 : 月26 : 年2

[コード]
Option Compare Database

Private Sub コマンド8_Click()
    Dim SQL As String
    Dim rs As Recordset
    Me!テキスト1 = Null
    '日・月・年の経過日を求める
    SQL = " SELECT 登録日,datediff('d',登録日,now),datediff('m',登録日,now),datediff('yyyy',登録日,now) FROM T_在庫管理"
    Set rs = CurrentDb.OpenRecordset(SQL)
    Do Until rs.EOF
        Me!テキスト1 = Me!テキスト1 & rs(0) & "  :  日" & rs(1) & "  :  月" & rs(2) & "  :  年" & rs(3) & vbCrLf
        rs.MoveNext
    Loop
    Set rs = Nothing
    End Sub

サンプルソフトのダウンロード

BackHome BackSQL Tips

Copyright(C) FeedSoft