📜  sql server 中的时间 - SQL (1)

📅  最后修改于: 2023-12-03 15:35:04.998000             🧑  作者: Mango

SQL Server 中的时间

在 SQL Server 中,时间是以特定的数据类型表示的。本文将介绍 SQL Server 中的几种时间数据类型,以及如何在 SQL 查询中使用它们。

时间数据类型
日期时间类型

日期时间类型包括 DATETIMESMALLDATETIMEDATETIME2DATETIMESMALLDATETIME 可以表示的日期时间范围分别为 1753 年 1 月 1 日到 9999 年 12 月 31 日和 1900 年 1 月 1 日到 2079 年 6 月 6 日。DATETIME2 可以表示的日期时间范围是 0001 年 1 月 1 日到 9999 年 12 月 31 日。

使用以下 SQL 命令创建包含日期时间列的表:

CREATE TABLE example_table (
   id INT PRIMARY KEY,
   name VARCHAR(50),
   date_time_column DATETIME
);
时间类型

时间类型包括 TIMEDATETIMEOFFSETTIME 数据类型表示时间,而 DATETIMEOFFSET 数据类型可以同时表示日期、时间和时区信息。

使用以下 SQL 命令创建包含时间列的表:

CREATE TABLE example_table (
   id INT PRIMARY KEY,
   name VARCHAR(50),
   time_column TIME
);
时间函数

SQL Server 提供了许多用于处理时间和日期的内置函数。

GETDATE()

GETDATE() 函数返回当前系统日期和时间。

SELECT GETDATE();

结果可能如下所示:

2022-12-24 18:03:12.163
DATEPART()

DATEPART() 函数返回指定日期时间的某个部分(如年、月、日、小时、分钟等)。

SELECT DATEPART(month, '2022-12-24 18:03:12.163');

结果可能如下所示:

12
DATEADD()

DATEADD() 函数在指定的日期时间上添加一个时间间隔。

SELECT DATEADD(day, 7, '2022-12-24 18:03:12.163');

结果可能如下所示:

2022-12-31 18:03:12.163
DATEDIFF()

DATEDIFF() 函数计算两个日期时间之间的时间差。

SELECT DATEDIFF(day, '2022-12-24 18:03:12.163', '2023-01-01 00:00:00.000');

结果可能如下所示:

8
总结

在 SQL Server 中,时间和日期都是重要的数据类型。使用内置的时间函数和数据类型,可以方便地在 SQL 查询中处理时间和日期数据。