介绍
在开发应用程序时,管理日期和时间数据可能是很重要的。在SQL Server中,提供了许多内置的日期和时间函数来管理这些数据。
获取日期
获取当前日期
使用GETDATE()函数可以获取当前日期和时间:
SELECT GETDATE()
返回结果如下:
2022-01-01 10:26:56.863
这里返回一个日期和时间,精确到毫秒。
获取日期部分
使用CONVERT()函数可以获取日期的不同部分。例如,获取今天的日期:
SELECT CONVERT(varchar(10), GETDATE(), 120)
返回结果如下:
2022-01-01
使用CONVERT()函数,可以将GETDATE()函数返回的日期和时间转换为日期字符串,并指定输出格式。
日期计算
加法和减法运算符
SQL Server中,使用加法和减法运算符来进行日期计算。在下面的例子中,我们添加了10天到当前日期:
SELECT DATEADD(day, 10, GETDATE())
返回结果如下:
2022-01-11 10:26:56.863
在这个示例中,我们使用DATEADD()函数,指定要添加的日期部分,以及要添加的数量。在这种情况下,我们指定添加10天到当前日期。
我们也可以减去一个日期:
SELECT DATEADD(day, -10, GETDATE())
返回结果如下:
2021-12-22 10:26:56.863
在这个示例中,我们使用DATEADD()函数将10天从当前日期中减去。
DATEDIFF()函数
使用DATEDIFF()函数,可以计算两个日期之间的差值。
在下面的例子中,我们计算两个日期之间的天数:
SELECT DATEDIFF(day, '2021-12-01', '2021-12-31')
返回结果如下:
30
在这个示例中,我们指定要计算的日期部分,以及要计算的日期。在这种情况下,我们计算12月1日和12月31日之间的天数。
格式化日期
CONVERT()函数
使用CONVERT()函数,可以将日期转换为指定的输出格式。
在下面的例子中,我们将日期转换为yyyy-mm-dd格式:
SELECT CONVERT(varchar(10), GETDATE(), 120)
返回结果如下:
2022-01-01
在这个示例中,我们使用CONVERT()函数将日期转换为字符类型。我们还指定了要输出的日期格式。
FORMAT()函数
在SQL Server 2012及更高版本中,我们也可以使用FORMAT()函数来格式化日期。
在下面的例子中,我们将日期转换为yyyy-mm-dd格式:
SELECT FORMAT(GETDATE(), 'yyyy-MM-dd')
返回结果如下:
2022-01-01
在这个示例中,我们使用FORMAT()函数将日期转换为指定的格式。
结论
使用SQL Server内置的日期函数,可以轻松地管理日期和时间数据。通过使用GETDATE()函数获取当前日期和时间,使用DATEADD()函数进行日期计算,使用DATEDIFF()函数计算日期之间的差异,以及使用CONVERT()和FORMAT()函数格式化日期,我们可以在SQL Server中高效地处理日期和时间数据。