-2

SQLテーブルDateInにフィールドがあり、テーブルの日付には「01/04/2012 00:00:00」のように存在します。クエリ アナライザーでクエリを実行すると、DateIn は '2012-04-01 00:00:00.000' のようになります。'dd/mm/yyyy' 形式のテキスト ボックスから日付を渡していますが、機能していません。テキストボックスからクエリに日付変数Dim StrDateをDateTimeとして渡す関数があります。私を案内してください。

4

1 に答える 1

0

列が である場合は、またはdatetimeのような形式で保存されていると考えるのをやめてください。日付/時刻の値は、この地域の書式設定が適用されずに内部的に保存されます。これは、Management Studio が表示する方法です。次のように、日付リテラルを使用してクエリを作成する必要があります。mm/dd/yyyydd/mm/yyyyyyyymmdd

SELECT <cols> 
FROM dbo.table 
WHERE DateIn >= '20120601'
AND DateIn < '20120626';

別のユーザーが実行した場合、マシンの地域設定が変更された場合、またはコードを別のサーバーに移動した場合は、他のすべてが機能しなくなる傾向があります。参照してください:

また、文字列区切り文字を使用していることを確認してください。あなたが言うなら:

WHERE DateIn > 01/06/2012

それは次と同じです:

WHERE DateIn > (1 divided by 6 divided by 2012)

整数演算により、次の結果が得られます。

WHERE DateIn > 0

SQL Server では、日付/時刻が 0 である'1900-01-01'ため、この句はすべての非 NULL 行を返します。

于 2012-06-26T13:10:34.960 に答える