sqlsever怎么求数据库1月至3月的数据和

sqlsever怎么求数据库1月至3月的数据和,第1张

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如何在一张表中,即显示了本月数据,还能在后面的列显示出历史月份的数据,同时增加同比与环比等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10154847.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存