我认为本月会报告一些产品数据,但是当我调整一个月前后的日期/时间来测试我的视图数据是否会持续到下个月时,它就会消失。 / p>
但是当我将时间更改为当前时间时,我的视图数据恢复正常。 你能解释一下这个问题并告诉我如何解决这个问题。
create view BCT122016
as
select
MASACH,
TENSACH,
SOLUONGTON
from
SACH
where
MONTH(GETDATE()) = 12
and YEAR(GETDATE()) = 2016
GO
select * from BCT122016
答案 0 :(得分:0)
您在视图中使用GetDate(),GetDate()会返回当前日期。
每次更改系统时间时,GetDate()也会更改,并且您的视图会反映此更改会返回不同的数据。
create view BCT122016
as
select
MASACH,
TENSACH,
SOLUONGTON
from
SACH
where
MONTH(GETDATE()) = 12
and YEAR(GETDATE()) = 2016
GO
select * from BCT122016
由于WHERE子句,此视图仅在2016年12月期间返回。
where
MONTH(GETDATE()) = 12
and YEAR(GETDATE()) = 2016
构建特定月/年视图的设计不好,请在select语句中使用WHERE子句。