VB.net-sqlserver中日期、月份和年份的比较

VB.net-sqlserver中日期、月份和年份的比较,sql,sql-server,vb.net,Sql,Sql Server,Vb.net,我在Sql Server中有今天(2016年10月20日)的数据,我需要在数据完成3个月(2017年2月20日)后显示数据。如何使用选择查询进行验证 SELECT DATEADD(MONTH, 3, yourfield), yourfield FROM yourtable 我在您的查询中添加了两个字段,以便您显示当前日期和未来日期(3个月后)尝试以下操作: SELECT DATEADD(MONTH, 3, yourfield), yourfield FROM yourtable 我在您的查询

我在Sql Server中有今天(2016年10月20日)的数据,我需要在数据完成3个月(2017年2月20日)后显示数据。如何使用选择查询进行验证

SELECT DATEADD(MONTH, 3, yourfield), yourfield
FROM yourtable
我在您的查询中添加了两个字段,以便您显示当前日期和未来日期(3个月后)

尝试以下操作:

SELECT DATEADD(MONTH, 3, yourfield), yourfield
FROM yourtable
我在您的查询中输入了两个字段,这样您就可以显示当前日期和未来日期(3个月后)

我想您希望这个(2017年2月20日)作为您的输出结果

然后尝试下面的select查询,该查询给出当前日期后3个月的日期

select dateadd(m,4,getdate())
在月份中添加4将得到当前日期3个月后的月份。

我想您希望将此(2017年2月20日)作为输出结果

select dateadd(m,4,getdate())
然后尝试下面的select查询,该查询给出当前日期后3个月的日期

select dateadd(m,4,getdate())
在月份中添加4将给出当前日期3个月后的月份。

getdate()包括时间。所以,如果他在更早的时间检查,尽管日期相同,查询将返回不正确的结果。您可以使用:

select dateadd(m,4,getdate())
select cast( floor( cast( dateadd( m, 4, getdate() ) as float ) ) as datetime ) newdate
将结果转换为时间为00:00:00的日期的步骤

或者,如果它来自表中的列:

select cast( floor( cast( dateadd( m, 4, yourdatecolumn ) as float ) ) as datetime ) newdate 
from yourtable
getdate()包括时间。所以,如果他在更早的时间检查,尽管日期相同,查询将返回不正确的结果。您可以使用:

select cast( floor( cast( dateadd( m, 4, getdate() ) as float ) ) as datetime ) newdate
将结果转换为时间为00:00:00的日期的步骤

或者,如果它来自表中的列:

select cast( floor( cast( dateadd( m, 4, yourdatecolumn ) as float ) ) as datetime ) newdate 
from yourtable

只需使用一个WHERE条件,将三个月添加到今天:
dateadd
&
getdate
使用dateadd函数只需使用一个WHERE条件,将三个月添加到今天:
dateadd
&
getdate