表是这样的:产品表(品名,启用日期,截止日期)品名 启用日期 截止日期
a
b 2012/1/1 2012/10/1
b 2012/10/2
c实现:
2012/10/1(含)日之前显示启用日期为2012/1/1的b产品品名 启用日期 截止日期
a
b 2012/1/1 2012/10/1
c2012/10/2(含)日之后显示启用日期为2012/10/2的b产品品名 启用日期 截止日期
a
b 2012/10/2
c不知我说明白了没!
a
b 2012/1/1 2012/10/1
b 2012/10/2
c实现:
2012/10/1(含)日之前显示启用日期为2012/1/1的b产品品名 启用日期 截止日期
a
b 2012/1/1 2012/10/1
c2012/10/2(含)日之后显示启用日期为2012/10/2的b产品品名 启用日期 截止日期
a
b 2012/10/2
c不知我说明白了没!
a 1 2012/1/1 2012/3/31
a 1.5 2012/4/1
b 2 2012/5/1 2012/5/31
b 1.8 2012/6/1
c 5
d 4根据启用日期和截止日期查询出当前时间的单价
create table tb (品名 nvarchar(10), 单价 decimal(18,2), 启用日期 datetime ,截止日期 datetime)
insert into tb values ('a', 1 ,'2012/1/1', '2012/3/31')
insert into tb values ('a', 1.5 ,'2012/4/1',null)
insert into tb values ('b', 2 ,'2012/5/1','2012/5/31')
insert into tb values ('b', 1.8 ,'2012/6/1',null)
insert into tb values ('c', null ,null,null)
select 品名,单价 from tb
where GETDATE() between 启用日期 and isnull(截止日期,GETDATE())
where GETDATE() between isnull(启用日期,GETDATE()) and isnull(截止日期,GETDATE())
非常感谢,实现了,不过发现了一个问题,当地一个单价截止日期和第二个单价启用日期相差一天时有点问题 如:
a 1 2012/1/1 2012/9/20
a 1.5 2012/9/21 这样a就不显示了,这是因为getdate()日期是带时间的:2012-09-20 09:27:29:923,这个时间大于截止日期2012-09-20,所以a就不显示了。