如何使用C#搜索SQL Server数据库

时间:2013-02-22 15:54:59

标签: c# sql-server

我有一个带有名称和日期时间的SQL Server表Registration,我想用datetime搜索数据,该日期时间小于datetime.now

SqlDataAdapter cs = 
    new SqlDataAdapter("Select * from Registration where Date > DateTime.now")

我希望日期时间少于今天。

5 个答案:

答案 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()+'”

如果你想要第二个选项,也可以尝试使用参数化查询。