8

MSAccessをデータベースとして使用している単純なアプリケーションを作成しています。以下のクエリを使用してデータを取得しようとすると、未定義関数 GETDATE()の例外が発生します

select *
from tempdata
where dateissue  between DATEADD(MM, DATEDIFF(MM, 0, GETDATE()) - 0 , 0) 
and  DATEADD(MM,         DATEDIFF(MM, 0, GETDATE()) + 1, - 1 )

C#コード内でSQL組み込みメソッドを使用できませんか?? もしそうなら、どうすればこの問題を解決できますか

4

3 に答える 3

3

最初の問題 ( GETDATE()Access SQL には関数がない) を乗り越えたので、別の問題を発見しました。

DateAdd関数には、最初の引数Intervalとして「追加する時間間隔である文字列式」が必要です。しかし、あなたは代わりにそれを与えています:MM

DATEADD(MM, DATEDIFF(MM, 0, DATE()) - 0 , 0)

追加しようとしている間隔がわかりません。分を追加する場合は、...

DateAdd('n', ...

月を追加したい場合は、...

DateAdd('m', ...

日数を追加する場合は、...

DateAdd('d', ...

NoteDateDiff()Interval文字列引数を想定しており、許容値は の場合と同じですDateAdd()

于 2013-09-07T02:01:28.207 に答える