SQL Server查询数据之日期函数
SQL Server支持的日期函数有GETDATE、DATEADD、DATEDIFF、DATENAME和DATEPART等函数。
工具/原料
SQL Server
一 、日期函数
1、GETDATE函数:可获得当前系统时间。
2、2.1、DATEADD函数:用于在指定日期上增加年、月、日或时间等,其返回值为日期型数据。其格式为:DATEADD(datepart,number,date)下面多数情况以学生信息表为例
3、2.2、datepart参数介绍datepart参数规定在日期的哪个部分(如年份、月份等)增加(减)数值。
4、2.3、DATEADD函数示例如下:● 在当前时间的“年”上增加了5年,并返回5年后的日期● 在当前时间的“月”上增加了5个月,并返回5个月后的日期说明:datepart参数值也可以使用缩写,例如,DATEADD(mm,5,GETDATE())也是在当前时间上增加5个月。
5、2.4DATEADD函数示例:从STUINFO表中查询所有学生的姓名、出生日期、出生后的第8000天和出生后的第500个月。
6、3.1、DATEDIFF函数:用于获取两个日期间的差,并返回数值数据。格式:DATEDIFF(datepart,date1,date2)其中datepart参数的说明同上,date1和date2是日期或日期格式的字符串。
7、3.2、DATEADD函数示例:从STUINFO表中查询所有学生的姓名、出生日期和年龄。● DATEDIFF(year, STUSTUBI伊怕锱鳏RTH,GETDATE()) //返回年份的差距,即年龄。● DATEDIFF(month, STUSTUBIRTH,GETDATE()) //返回的是当前时间和出生日期之间的月份的差距,即返回相差多少个月。
8、4.1、D钽吟篑瑜ATENAME函数:用于获取日期的一部份,并以字符串形式返回格式:DATENAME (datepart,date)其中,d锾攒揉敫atepart参数的说明同上,date是日期或者日期格式的字符串。例如,假设当前日期为2010年2月25日,则DATENAME(month,GETDATE( ))的结果为字符串'02',DATENAME(dd,GETDATE( ))的结果为字符串'25'。注意:假设当前日期为2010年3月5日,则DATENAME (dd,GETDATE( ))返回的结果为字符串'5',而并非是'05'。
9、4.2、DATENAME函数示例:从STUINFO表中查询每位30号出生的所有学生。注意:DATENAME函数返回的是字符串,因此必须与字符串('30')比较。
10、5.1、DA哌囿亡噱TEPART函数:用于获取日期的一部份,并以整数值返回:格式:DATEPART (datepart,date)其中,datepart参数的说明同上,date是日期或者日期格式的字符串。例如,假设当前日期为2019 年2 月25 日,则DATEPART (month,GETDATE())的结果为数值2,DATEPART (dd,GETDATE())的结果为数值25。
11、5.2、DATEPART函数示例:从STUINFO表中查询每位30号出生的所有学生。注意:DATEPART函数返回的是数值,因此必须与数值(30)比较。