如何在SQL Server中查询大于某个日期的所有日期?
我正在努力。
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
看起来像。2010-03-04 00:00:00.000
然而,这并不奏效。
谁能提供一个参考,说明原因?
307
5
我正在努力。
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= 2010-04-01;
A.Date
看起来像。2010-03-04 00:00:00.000
然而,这并不奏效。
谁能提供一个参考,说明原因?
在你的查询中,
2010-4-01
被当作一个数学表达式来处理,所以实质上它的内容是(
2010减去4减去1是2005
) 将其转换为正确的 "日期",并使用单引号,将解决这个问题)。从技术上讲,分析器可能允许你用以下方式来解决
它将为你进行转换,但在我看来,这比为你之后的维护程序员明确转换为`DateTime'的可读性要差。
试着把你的日期包围在一个字符串中。
我们也可以用下面这样的方式
首先将TexBox转换为Datetime,然后....,将该变量用于查询。
综上所述,正确答案是......。
select * from db where Date >= '20100401' (日期格式为yyyymmdd)
这将避免与其他语言系统的任何问题,并将使用索引。