在我的SQL Server 2005数据库的SELECT
命令中,我需要将OrderDelDateTime
列(采用datetime
格式)转换为日期格式,以便我可以选择所有与今天的日期无关的行。
这就是我所拥有的:
cmd = New Data.SqlClient.SqlCommand("SELECT * FROM [Orders] where [OrderDelDateTime] = '" + Now.Date + "'", conn)
显然这会返回零结果,因为11/30/2012 5:30:00 PM
(在db中)不等于Now.Date
(11/30/2012
)。
我正在使用VB.Net。
答案 0 :(得分:4)
按照以下方式进行查询:
select *
from Orders
where OrderDelDateTime between @Date1 and @Date2
然后从C#传递以下两个参数:
cmd.Parameters.AddWithValue("@Date1", Now.Date);
cmd.Parameters.AddWithValue("@Date2", Now.Date.AddDays(1).AddMilliseconds(-1));
答案 1 :(得分:1)
cmd = New Data.SqlClient.SqlCommand(String.Format("SELECT * FROM [Orders] where [OrderDelDateTime] >= {0} and [OrderDelDateTime] < {1}", Now.Date, Now.Date.AddDays(1)), conn)