我有一个带有名称和日期时间的SQL Server表Registration
,我想用datetime搜索数据,该日期时间小于datetime.now
。
SqlDataAdapter cs =
new SqlDataAdapter("Select * from Registration where Date > DateTime.now")
我希望日期时间少于今天。
答案 0 :(得分:4)
T-SQL内置函数getdate()
返回当前服务器日期/时间。
因此,您的查询应为SELECT * FROM Registration WHERE [Date] < getdate()
。
在你的代码中使用它将是:
SqlDataAdapter cs = new SqlDataAdapter("Select * from Registration where [Date] < getdate()")
答案 1 :(得分:3)
您可以使用SQL GETDATE()
执行此操作:
SqlDataAdapter cs = new SqlDataAdapter("Select * from Registration where Date < GETDATE()")
答案 2 :(得分:2)
使用GETDATE()获取查询中的当前日期。
SqlDataAdapter cs = new SqlDataAdapter("Select * from Registration where Date < GETDATE()");
答案 3 :(得分:1)
这可能有效...如果你想使用.NET DateTime,那将是本地系统的日期。
SqlDataAdapter cs = new SqlDataAdapter(
"SELECT * FROM [Registration]
WHERE [Date] < '" + DateTime.Now.ToShortDateString() +"';");
//output: SELECT * FROM [Registration] WHERE [Date] < '2/22/2013';
它将取决于[date]列的数据类型,如果它是字符串或日期时间或其他内容。如果它是YYYYmmdd,那么你可以操纵DateTime.Now输出来匹配。
答案 4 :(得分:1)
非常简单..
如果你想使用sql当前的datetime使用 SELECT * FROM Registration WHERE [Date]&lt; GETDATE()
如果您希望应用程序使用当前日期时间
“SELECT * FROM Registration WHERE [Date]&lt;'+ Datetime.Now.Tostring()+'”
如果你想要第二个选项,也可以尝试使用参数化查询。