2017-06-08 21 views
2

SQL 2012でAvayaデータベースから電話を取得しようとしていますが、コードの日付を取得できないようです。今日の日付で通話を選択する

cmdCalls = String.Format("SELECT * FROM dbo.tblCallList WHERE CreateDate > cast('" & DateYesterday & "' as date)") 

は、これは私のクエリ文字列

Dim DateYesterday As Date = Date.Today.AddDays(<insert number of days>).ToString("yyyy-MM-dd") 

私はそれが日付変数から日を引くん、私は、データベースから必要なデータを取得することができないようですが、問題はそのが使用しています日クエリの数ヶ月のように、それは、月の代わりの日からすべてのレコードを示し

データベース上の日付の形式は、たとえば「2017年6月8日12:04 :: 00 000」

+0

CreateDate列のデータベースのデータ型は? 'datetime'のような一時的な型の' char'/'varchar'ではなく、バイナリ構造でフォーマットがありません。 –

+0

私はこれについては分かりませんが、実際には日付であるかもしれません –

+0

値に時間と分が含まれているため、日付にすることはできません。 –

答えて

2

使用するeデータベースの現在の日付:

SELECT * 
FROM dbo.tblCallList 
WHERE CreateDate >= CAST(getdate() as date); 
+0

理由はわかりませんが、結果は0です。 –

+0

@ K.Chanel。 。 。質問を編集してサンプルデータを提供する必要があります。その間に、 'cast(getdate() - 1 as date)'を試して、昨日から何かが得られたかどうかを確認してください。 –

+0

なぜ正しいdateaddを使用しないのですか? 'where createDate> = cast(dateadd(日、-1、getdate())を日付として使用します。 – ATC

関連する問題