select
from
table
where
date>'2012-2-20'
and
date<'2012-3-20',很久没用了,应该是这样或者是select
from
table
where
date
between
'2012-2-20'
and
'2012-3-20'我不太明白你的意思,你取到了数据还要做其他处理的话。我觉得吧在DataTable里面应该可以进行相关 *** 作的。
使用datename函数,获取日期的月份。
例:表table中的rq字段
SQL语句如下:
selectdate(mm,rq)fromtable
相关日期、时间的提取方法还有:
年份datename(yy,rq)
月份datename(mm,rq)
日datename(dd,rq)
小时datename(hh,rq)
分钟datename(n,rq)//不是m,也不是mm
(1)用dblink使你在这个数据库可以查询另一个数据库的信息。注意,权限问题。包括用户权限和查询权限。
(2)看到你的显示结果个人建议用union all来做,就是查出上表的全部数据并上下表E字段与上表E字段相同的字段,然后再排序(如果顺序不重要也可以不排序)。左连接或者右连接的话前面要用case when判断,而且似乎不可行,因为在上表E=a时g也显示在I字段中,所以用union all似乎更加简单一些。
sqlserver:
select convert(varchar(7),dateadd(mm,-tnumber,getdate()),120)from
(select number from masterspt_values where type='P') t
where year(dateadd(mm,-tnumber,getdate()))=year(getdate())
order by convert(varchar(7),dateadd(mm,-tnumber,getdate()),120)
oracle:
select to_char(add_months(sysdate, -trn), 'yyyy-mm')from dual a, (select rownum - 1 rn from dual connect by rownum <= 12) t
where to_char(add_months(sysdate, -trn), 'yyyy') =
to_char(sysdate, 'yyyy')
order by to_char(add_months(sysdate, -trn), 'yyyy-mm')
假设你的数据表名为table_name,其中时间的列名为datatime_now
declare @dt1 datetime,@dt2 datetime
select @dt1='2007-01-01',@dt2=getdate();
select from table_name
where datetime_now between @dt1 and @dt2
and (datetime_now =(SELECT CONVERT(datetime,CONVERT(char(8),datetime_now,120)+'1'))
or datetime_now =(SELECT DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,datetime_now),120)+'1')))
纯手打,没试过,有错的话请指出。
以上就是关于sqlsever怎么求数据库1月至3月的数据和全部的内容,包括:sqlsever怎么求数据库1月至3月的数据和、如何获取数据库中日期的月份(用SQL函数、Oracle如何在一张表中,即显示了本月数据,还能在后面的列显示出历史月份的数据,同时增加同比与环比等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)