sql前一年
A. 在sqlserver中怎样算出指定日期前一年的那一天,已知都是日期类型
SELECT DATEADD(YY,-1,GETDATE())
--2010-01-08 10:07:33.983
B. 取上个月和上一年的数据的sql怎么写
楼主应该不会使用的是如何取去年,或者上个月吧?
其实有很多种获取方法,比如:
convert(nvarchar(7),dateadd(month,-1,getdate()),23)--获取上个月,出现格式2016-12
year(getdate())-1 --上一年
另外可以再介绍几种常用函数:
getdate()--获取当前时间
year(时间字段)--获取时间字段的年
Month(时间字段)--获取时间字段的月
Day(时间字段)--获取时间字段的日
Dateadd(时间类型,相距数量,时间字段)--计算与时间字段相距的日期,时间类型可以是年月日时分秒等等
Datediff(时间类型,时间1,时间2)--计算两个时间的时间差,类型与上一个一致
C. sql语句计算同期前一年的数量
有个函数可以取年份的,语法是这样的DATEPART(datepart,date)
,如果你表里有个字段是记录时间的,假设表为A,字段为time,你可以这么写,希望能够帮到你
selectcount(*)fromAwhereDATEPART(yy,time)=(DATEPART(yy,time)-1)
D. 取上个月和上一年的数据,sql怎么写
楼主应该不会使用的是如何取去年,或者上个月吧?
其实有很多种获取方法,比如:
convert(nvarchar(7),dateadd(month,-1,getdate()),23)--获取上个月,出现格式2016-12
year(getdate())-1 --上一年
另外可以再介绍几种常用函数:
getdate()--获取当前时间
year(时间字段)--获取时间字段的年
Month(时间字段)--获取时间字段的月
Day(时间字段)--获取时间字段的日
Dateadd(时间类型,相距数量,时间字段)--计算与时间字段相距的日期,时间类型可以是年月日时分秒等等
Datediff(时间类型,时间1,时间2)--计算两个时间的时间差,类型与上一个一致
E. sql 统计日期字段取值的前一年的其他指标均值
不知道是不是理解对,你是不是指某日期四天内的平均值,比如5号就找2号-5号的的平均值,如果是,下面语句应该可以
Select A.Date, Sum(ISNULL(B.Sales,0)/4 as avg_pass_4
From 表 as A Left Outer join 表 as B
ON B.Date>DateAdd(day,-4,A.Date) and B.Date<=A.Date
group by A.Date
F. Sql 如何查找一年前的数据记录
1.
首先计算出1年期的时间:
sqlserver:
select
dateadd(year,-1,getdate())
oracle:
select
add_months(sysdate,-12)
from
al;
2.
然后用此时间为条件,进行判断。
G. sql统计上一年的值,时间怎么转换
如下:
create table datefour
(name varchar(10),datem char(10), acount int)
insert into datefour values
('A','201203',25), ('A','201206',3),
('A','201209',15),('A','201304',8),
('A','201309',4),('A','201312',11),
('A','201403',7),('A','201405',21),
('A','201409',2),('A','201410',10),
('A','201503',21),('A','201509',3),
H. 怎么在sql中 查询1年的数据
近一年分三种情况,以当前时间为中心,前后各半年;以当前时间为最后时间,查询当前时间前一年的数据;以当前时间为起始时间,查询后一年的数据。
语法分别如下:
1、以当前时间为中心,前后各半年
1
select * from 表名 where 时间字段 between dateadd(DAY,(-364/2),GETDATE()) and dateadd(DAY,(364/2),GETDATE());
2、以当前时间为最后时间,查询当前时间前一年的数据
1
select * from 表名 where 时间字段 between dateadd(DAY,-365,GETDATE()) and GETDATE() ;
3、以当前时间为起始时间,查询后一年的数据
1
select * from 表名 where 时间字段 between GETDATE() and dateadd(DAY,365,GETDATE());
I. oracle数据库 date时间类型查询昨天、前7天、前30天、前1年的数据,sql语句怎么写
1、打开plsql,连接上oracle数据库,使用sql语句创建一张测试表。
2、使用sql语句插入3行测试数据到上一步创建的测试表中,日期栏位使用系统当前时间插入。
3、执行完sql之后,记得点击提交按钮,提交更改到数据库保存,否则,数据不会真正存储到数据库中。
4、提交完之后,查询刚刚插入的数据,select
*
from
TestDate。
5、修改第一行Updatedate栏位的值,此时直接拼接日期格式的字符串更新,oracle是无法执行的。
6、修改第一行Updatedate栏位的值,将字符串的日期转换为日期类型,之后再修改,就可以更新了。
7、修改第一行Updatedate栏位的值,使用当前日期减去2天,直接减2即可。
J. 怎么写sql 查询近一年的记录
1. 首先,我们需要创建一个新的数据表并准备一些数据。