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';
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= '2010-04-01';
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= CAST('2010-04-01' as Date);
SELECT *
FROM dbo.March2010 A
WHERE A.Date >= Convert(datetime, '2010-04-01' )
日期格式对我来说没有问题(Mydate的数据类型是datetime): Where Mydate>'10/25/2021'或Where Mydate>'2021-10-25' 但如果加上一个时间,以上答案就不起作用了。 我是这样做的: where cast(Mydate as time)>'22:00:00' 如果您的查询需要日期,请添加日期,例如: where cast(Mydate as time)>'22:00:00' and Mydate='10/25/2021'
8条答案
按热度按时间pkln4tw61#
我们也可以使用如下所示
r3i60tvu2#
在您的查询中,您没有使用单引号将日期括起来。这就是问题所在。但是,您可以使用以下任何查询来比较日期
n1bvdmb63#
综上所述,正确答案是:
这将避免其他语言系统的任何问题,并将使用索引。
ejk8hzay4#
首先将TexBox转换为Datetime,然后....将该变量用于查询
xwbd5t1u5#
日期格式对我来说没有问题(
Mydate
的数据类型是datetime
):Where Mydate>'10/25/2021'
或Where Mydate>'2021-10-25'
但如果加上一个时间,以上答案就不起作用了。
我是这样做的:
where cast(Mydate as time)>'22:00:00'
如果您的查询需要日期,请添加日期,例如:
where cast(Mydate as time)>'22:00:00' and Mydate='10/25/2021'
polhcujo6#
首先,您需要在转换前将两个日期转换为相同的格式
x0fgdtte7#
在您的查询中,
2010-4-01
被视为数学表达式,因此实际上它是(
2010 minus 4 minus 1 is 2005
将其转换为正确的datetime
并使用单引号将解决此问题。)从技术上讲,解析器可能允许您不受
它将为您完成转换,但在我看来,它的可读性不如显式转换为一个
DateTime
的维护程序员,将在您之后。cs7cruho8#
请尝试将日期包含在字符串中。