我尝试:

SELECT * 
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;

a .日期如下:2010-03-04 00:00:00.000

然而,这并没有起作用。

谁能提供一个原因的参考?


当前回答

DateTime start1 = DateTime.Parse(txtDate.Text);

SELECT * 
FROM dbo.March2010 A
WHERE A.Date >= start1;

首先将TexBox转换为日期时间,然后....在查询中使用该变量

其他回答

我们也可以在下面用like

SELECT * 
FROM dbo.March2010 A
WHERE CAST(A.Date AS Date) >= '2017-03-22';

SELECT * 
    FROM dbo.March2010 A
    WHERE CAST(A.Date AS Datetime) >= '2017-03-22 06:49:53.840';
DateTime start1 = DateTime.Parse(txtDate.Text);

SELECT * 
FROM dbo.March2010 A
WHERE A.Date >= start1;

首先将TexBox转换为日期时间,然后....在查询中使用该变量

综上所述,正确答案是:

select * from db where Date >= '20100401'  (Format of date yyyymmdd)

这将避免任何其他语言系统的问题,并将使用索引。

尝试将日期封装到字符串中。

 select * 
 from dbo.March2010 A
 where A.Date >= '2010-04-01';

首先,您需要在转换前将两个日期转换为相同的格式

SELECT * 
FROM dbo.March2010 A
WHERE CONVERT(DATE, A.Date) >= 2010-04-01;