介绍
MSSQL是一种关系型数据库管理系统,用于在Windows操作系统上管理和存储数据。日期是数据库中常见的数据类型。为了更好地管理和检索日期数据,MSSQL提供了多种日期函数和操作符。
日期函数
1. GETDATE()
GETDATE函数返回当前系统的日期和时间。它的返回类型是datetime。
SELECT GETDATE()
输出结果如下所示:
2021-10-12 23:45:30.610
2. DATEADD()
DATEADD函数将指定的时间间隔添加到指定的日期中。它的语法是:
DATEADD(datepart, number, date)
其中,datepart是一个字符串,指定要添加的时间间隔,可以是year、quarter、month、day、week、hour、minute、second、millisecond等;number是一个整数,指定要添加的时间数量;date是一个日期或时间值,可以是datetime、smalldatetime或time类型。
例如,下面的代码将添加一个月到2021年10月12日:
SELECT DATEADD(month, 1, '2021-10-12')
输出结果如下所示:
2021-11-12 00:00:00.000
3. DATEDIFF()
DATEDIFF函数返回两个日期之间的时间间隔。它的语法是:
DATEDIFF(datepart, startdate, enddate)
其中,datepart是一个字符串,指定要返回的时间间隔,可以是year、quarter、month、day、week、hour、minute、second、millisecond等;startdate和enddate是两个日期或时间值,可以是datetime、smalldatetime或time类型。
例如,下面的代码将返回2021年10月11日和2021年10月12日之间的天数:
SELECT DATEDIFF(day, '2021-10-11', '2021-10-12')
输出结果如下所示:
1
4. CONVERT()
CONVERT函数将一个数据类型转换为另一个数据类型。它的语法是:
CONVERT(datatype, expression, style)
其中,datatype是要转换为的数据类型,可以是datetime、smalldatetime、date、time等;expression是要转换的表达式,可以是日期、时间或文本值;style是一个整数,指定日期或时间的格式。
例如,下面的代码将将一个日期转换为字符串格式:
SELECT CONVERT(varchar, GETDATE(), 120)
输出结果如下所示:
2021-10-12 23:59:42
日期操作符
1. BETWEEN
BETWEEN操作符用于检查一个值是否在指定的范围内。它的语法是:
value BETWEEN lowervalue AND uppervalue
例如,下面的代码将返回温度在0度和100度之间的所有记录:
SELECT * FROM temperature WHERE temperature BETWEEN 0 AND 100
2. DATEPART()
DATEPART函数返回一个日期值的指定部分。它的语法是:
DATEPART(datepart, date)
例如,下面的代码将返回今天是星期几:
SELECT DATEPART(weekday, GETDATE())
输出结果如下所示:
3
3. DATEFORMAT()
DATEFORMAT函数返回一个指定的日期时间值的格式化表示形式。它的语法是:
FORMAT(date, format)
其中,date是一个日期或时间值,可以是datetime、smalldatetime或time类型;format是一个字符串,指定返回的日期或时间格式。
例如,下面的代码将返回当前日期的短日期字符串:
SELECT FORMAT(GETDATE(), 'd')
输出结果如下所示:
10/12/2021
结论
MSSQL提供了多种日期函数和操作符,使日期数据的管理和检索变得更加容易。在实际应用中,根据需要选择和组合这些函数和操作符,可以更好地满足业务需求。