SQL 日期函数问题;我想写一个查询语句,是查表中日期字段后十天的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 日期函数问题;我想写一个查询语句,是查表中日期字段后十天的数据相关的知识,希望对你有一定的参考价值。
比如:select * from table where creatdate= 一个日期值起十天内
就是说 这个日期开始,十天内。用日期函数怎么写
例子:
select * from table where 1=1
and creatdate >= to_date('2010-12-05','yyyy-mm-dd')
and creatdate <= to_date('2010-12-05','yyyy-mm-dd')+10;
oracle中的日期是可以直接进行相加减的,我想在其它数据库中同样存在日期函数,能够处理这样的任务。
希望能够帮助你。 参考技术A declare @date datetime
set @date = '输入任意日期'
select * from table where creatdate > = convert(varchar(10),@date-10,120)
and createdate < = convert(varchar(10),@date,120) 参考技术B select * from table where DATEDIFF(DD,@日期,CREATDATE)<=9 AND DATEDIFF(DD,@日期,CREATDATE)>=0 参考技术C dateadd()
T-SQL高级查询语句
系统函数:字符串函数:
select ‘运维工程师‘ + 姓名+ ‘的基本工资是:‘ +CAST (基本工资 as varchar(10))+‘元‘
from A1
where 职务=‘运维工程师‘
#显示A1表中所有运维工程师的姓名和基本工资,要求的显示格式是
运维工程师 某某 的基本工资是 9000.00元
日期函数:
select DATEADD(dd,10,GETDATE())
#显示距离当前10天之后的日期和时间
select 姓名,DATEDIFF (YY,出生日期,GETDATE ()) AS 年龄 from A1
#显示A1表中所有人的姓名和年龄
select 姓名,DATENAME(YY,出生日期) AS 出生年份
from A1
where 出生日期 between ‘1990-1-1‘ and ‘1999-12-31‘
#显示A1表中所有90后员工的姓名和出生年份
聚合函数:
select SUM(基本工资) AS 总工资 from A1
#查询A1表中所有员工基本工资的总和
select AVG(基本工资) AS 平均工资 from A1
#查询A1表中所有员工的平均基本工资
select MAX (基本工资) AS 最高工资,MIN (基本工资) AS 最低工资 from A1
#查询A1表中最高和最低的基本工资
select COUNT (*) AS 总行数 from A1
#查询A1表中全部行数
select COUNT (出生日期) AS ‘90后人数‘
from A1
where 出生日期 >=‘1990-1-1‘
#查询A1表中90后的员工人数
分组查询:
select 职务,AVG (基本工资) AS 职务平均工资 from A1
group by 职务
#查询A1表中每个职务的平均工资
select 职务,AVG (基本工资) AS 职务平均工资 from A1
group by 职务
having AVG (基本工资) <10000
#查询A1表中平均工资小于10000的职务
select 职务,AVG (基本工资) AS 职务平均工资 from A1
where 姓名 !=‘小张‘
group by 职务
having AVG (基本工资)<10000
#查询A1表中平均工资小于10000的职务,但是不包括小张
数学函数:
select CEILING (AVG (基本工资)) AS 平均工资 from A1
#查询A1表中所有人的平均工资,用 CEILING()取整
select 姓名,生日,DATEDIFF(yy,生日,getdate()) 年龄, DATEDIFF(dd,getdate(),DATEADD(yy,30,生日))
as 距离30岁天数 from A1
where DATEDIFF(yy,生日,GETDATE())<=30
order by 生日
#查询未满30岁的员工生日和年龄,并且计算出距离30岁的天数,以表格的形式显示
select
‘员工 ‘+姓名+
‘ 的生日是‘+CONVERT(varchar(10),出生日期,111)+
‘,现在的年龄是 ‘+CAST(DATEDIFF (YY,出生日期,GETDATE ()) AS varchar(10))+‘岁‘+
‘,距离30岁生日还有 ‘+
CAST(DATEDIFF(DD,GETDATE (),DATEADD(yy,30,出生日期)) AS varchar(10))+‘天‘
from A1
where DATEDIFF (YY,出生日期,GETDATE ())<=30
order by 出生日期
#查询未满30岁的员工生日和年龄,并且计算出距离30岁的天数,将结果使用字符串拼接在一起
以上是关于SQL 日期函数问题;我想写一个查询语句,是查表中日期字段后十天的数据的主要内容,如果未能解决你的问题,请参考以下文章