3

SELECT私の SQL Server 2005 データベースへのコマンドでは、時間に関係なく、今日の日付ですべての行を選択できるように、OrderDelDateTime列 (datetimeフォーマット) を日付フォーマットに変換する必要があります。

これが私が持っているものです:

cmd = New Data.SqlClient.SqlCommand("SELECT * FROM [Orders] where [OrderDelDateTime] = '" + Now.Date + "'", conn)

(in db) が( )11/30/2012 5:30:00 PMと等しくないため、明らかにこれはゼロの結果を返します。Now.Date11/30/2012

私はVB.Netを使用しています。

4

2 に答える 2

4

次のようにクエリを作成します。

select *
from Orders
where OrderDelDateTime between @Date1 and @Date2

次に、C# から次の 2 つのパラメーターを渡します。

cmd.Parameters.AddWithValue("@Date1", Now.Date);
cmd.Parameters.AddWithValue("@Date2", Now.Date.AddDays(1).AddMilliseconds(-1));

SQL フィドル: http://sqlfiddle.com/#!3/92105/1

于 2012-11-30T19:39:28.413 に答える
1
cmd = New Data.SqlClient.SqlCommand(String.Format("SELECT * FROM [Orders] where [OrderDelDateTime] >= {0} and  [OrderDelDateTime] < {1}", Now.Date, Now.Date.AddDays(1)), conn)
于 2012-11-30T20:44:44.207 に答える