--查询学号是20011的学生姓名和年龄,并输出比他大岁和小1岁的学生信息提示:--查询输出学号是20011的学生姓名和计算出该学生的年龄--查询得到学号是20011的学生的出生日期用日期函数DA

这句SQL语句是用来从一个名为Student的表中查询数据的。它使用了DATEPART函数来提取BornDate字段(通常表示出生日期)中的年份部分,并与两个特定的年份值进行比较。

--意思是 DATEPART(YYYY,BornDate)=@styyear+1 等于到等于某年@styyear加一年  DATEPART 把BornDate搞成数字了

DATEPART(YYYY, BornDate):这个函数提取BornDate字段中的年份部分。

需求说明:
--查询学号是20011的学生姓名和年龄,并输出比他大岁和小1岁的学生信息提示:
--查询输出学号是20011的学生姓名和计算出该学生的年龄
--查询得到学号是20011的学生的出生日期用日期函数DATEPART()获得学生的出生年份查询输出大1岁和小1岁的学生信息

declare @stuno varchar(50)
declare @stuage int
declare @styyear int
declare @stunnamne varchar(50)
 set @stuno='S2102008'
 
--查询输出学号是20011的学生姓名和计算出该学生的年龄
 --两个都是查询多少岁
 select @styyear=DATEDIFF(YYYY,BornDate,GETDATE()) from Student where @stuno=Studentno
 select @styyear=DATEPART(YYYY,BornDate),@stunnamne=StudentName from Student where @stuno=Studentno
--查询得到学号是20011的学生的出生日期用日期函数DATEPART()获得学生的出生年份查询输出大1岁和小1岁的学生信息
 select* from Student where DATEPART(YYYY,BornDate)=@styyear+1 or DATEPART(YYYY,BornDate)=@styyear-1

DATEPART()函数是用来返回 指定日期时间的指定日期部分的整数。返回类型为:int

datepart()
datepart()函数是用来返回 指定日期时间的指定日期部分的整数。返回类型为:int。
语法:

DATEPART(datepart,date)


1
其中date是日期、时间。part指其中的一部分。所以这个函数的意思就是取日期中的一部分。

函数的第一参数 datepart是指定应返回的日期部分,参数说明如下表:

sql 举例 :

--分别取出日期'2018-11-03 14:13:12.583' 中的 年/季度/月/日/小时/分钟/秒/毫秒
SELECT DATEPART(yy,'2018-11-03 14:13:12.583') --结果:2018
SELECT DATEPART(year,'2018-11-03 14:13:12.583') --结果:2018
SELECT DATEPART(qq,'2018-11-03 14:13:12.583') --结果:4 第四季度
SELECT DATEPART(quarter,'2018-11-03 14:13:12.583') --结果:4
SELECT DATEPART(mm,'2018-11-03 14:13:12.583') --结果:11 第11月份
SELECT DATEPART(month,'2018-11-03 14:13:12.583') --结果:11
SELECT DATEPART(dd,'2018-11-03 14:13:12.583') --结果:3 当月第3天
SELECT DATEPART(day,'2018-11-03 14:13:12.583') --结果:3
SELECT DATEPART(hh,'2018-11-03 14:13:12.583') --结果:14 当天下午2点
SELECT DATEPART(mi,'2018-11-03 14:13:12.583') --结果:13    
SELECT DATEPART(ss,'2018-11-03 14:13:12.583') --结果:12
SELECT DATEPART(ms,'2018-11-03 14:13:12.583') --结果:583
 
 
--分别取出日期'2018-11-03 14:13:12.583' 是一年中的第几天/第几周/星期几
SELECT DATEPART(dayofyear,'2018-11-03 14:13:12') --结果:307 2018年的第307天
SELECT DATEPART(week,'2018-11-03 14:13:12') --结果:44 2018年的第44周
SELECT DATEPART(weekday,'2018-11-03 14:13:12') --结果:7 7代表星期六 1代表星期日
--直接取得星期几汉字的方法DateName()函数:
select DateName(weekDay,getdate()) 


————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/qq_38534363/article/details/106198719

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值