私はしようとしています:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
次のようになります:2010-03-04 00:00:00.000
ただし、これは機能していません。
誰かが理由のリファレンスを提供できますか?
私はしようとしています:
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
次のようになります:2010-03-04 00:00:00.000
ただし、これは機能していません。
誰かが理由のリファレンスを提供できますか?
select *
from dbo.March2010 A
where A.Date >= Convert(datetime, '2010-04-01' )
クエリで2010-4-01
は、は数式として扱われるため、本質的には次のようになります。
select *
from dbo.March2010 A
where A.Date >= 2005;
(2010 minus 4 minus 1 is 2005
適切に変換し、datetime
一重引用符を使用すると、この問題が修正されます。)
技術的には、パーサーを使用すると、
select *
from dbo.March2010 A
where A.Date >= '2010-04-01'
それはあなたのために変換を行いますが、私の意見では、DateTime
あなたの後に来るメンテナンスプログラマーのために明示的に変換するよりも読みにくいです。
日付を文字列で囲んでみてください。
select *
from dbo.March2010 A
where A.Date >= '2010-04-01';
DateTime start1 = DateTime.Parse(txtDate.Text);
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= start1;
最初にTexBoxをDatetimeに変換してから....その変数をクエリに使用します