首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

创建了一个油价表怎么查询出其中的数据

2012-03-26 
创建了一个油价表如何查询出其中的数据create table OilPrice(startYear int,startMonth int,startDay int

创建了一个油价表如何查询出其中的数据
create table OilPrice(startYear int,startMonth int,startDay int,endYear int,endMonth int,endDay int,oilprice float)
其中各列代表的含义是:
startYear开始年
startMonth开始月
startDay开始日

endYear结束年
endMonth结束月
endDay结束日

我想从中查询出2012年3月22日的油价,应该怎么求出(表中的数据是一段一段的,也就是2012年3月22日在一段时间里),请问各位大牛,如何查处数据,谢谢!




[解决办法]
select * from OilPrice where cast('2012-03-22' as datetime) between
cast(cast(startYear as varchar) + '-' + cast(startMonth as varchar) + '-' + cast(startDay as varchar) as datetime) and
cast(cast(endYear as varchar) + '-' + cast(endMonth as varchar) + '-' + cast(endDay as varchar) as datetime)
[解决办法]

SQL code
create table OilPrice(startYear int,startMonth int,startDay int,endYear int,endMonth int,endDay int,oilprice float)insert into OilPrice values(2012,1,1,2012,2,1,1)insert into OilPrice values(2012,2,1,2012,3,1,2)insert into OilPrice values(2012,3,1,2012,4,1,3)insert into OilPrice values(2012,4,1,2012,5,1,4)insert into OilPrice values(2012,5,1,2012,6,1,5)insert into OilPrice values(2012,6,1,2012,7,1,6)goselect * from oilprice/*startYear   startMonth  startDay    endYear     endMonth    endDay      oilprice                                              ----------- ----------- ----------- ----------- ----------- ----------- ----------------------------------------------------- 2012        1           1           2012        2           1           1.02012        2           1           2012        3           1           2.02012        3           1           2012        4           1           3.02012        4           1           2012        5           1           4.02012        5           1           2012        6           1           5.02012        6           1           2012        7           1           6.0(所影响的行数为 6 行)*/select * from OilPrice where cast('2012-03-22' as datetime) betweencast(cast(startYear as varchar) + '-' + cast(startMonth as varchar) + '-' + cast(startDay as varchar) as datetime) andcast(cast(endYear as varchar) + '-' + cast(endMonth as varchar) + '-' + cast(endDay as varchar) as datetime) /*startYear   startMonth  startDay    endYear     endMonth    endDay      oilprice                                              ----------- ----------- ----------- ----------- ----------- ----------- ----------------------------------------------------- 2012        3           1           2012        4           1           3.0(所影响的行数为 1 行)*/drop table oilprice
[解决办法]
探讨

SQL code
create table OilPrice(startYear int,startMonth int,startDay int,endYear int,endMonth int,endDay int,oilprice float)
insert into OilPrice values(2012,1,1,2012,2,1,1)
insert into OilPrice val……

热点排行