SQL Server TIME 数据类型介绍

SQL Server 中的 TIME 数据类型存储时间值,表示一天内的时间(小时、分钟、秒、毫秒),不包括日期部分。

语法

TIME 数据类型的语法如下:

TIME [ (fractional_seconds_scale) ]

fractional_seconds_scale 是可选的,表示秒的小数位数。如果未指定 fractional_seconds_scale,则默认为 0。

使用场景

TIME 数据类型主要用于存储时间值,例如表示活动的持续时间、预计到达时间等。此外,它还可用于在 SQL Server 中存储时间戳。

示例

以下是两个使用 SQL Server TIME 数据类型的示例。

示例 1:存储活动时间

假设有一个表 Activity,其中包含一个名称和一个持续时间(使用 TIME 数据类型)列。下面是一些示例数据:

Name Duration
Meeting 01:30:00.000000
Exercise 00:45:00.000000
Lunch break 00:30:00.000000

可以使用以下 SQL 语句创建表 Activity

CREATE TABLE Activity
(
  Name VARCHAR(50) NOT NULL,
  Duration TIME(6) NOT NULL
);

示例 2:存储时间戳

假设要在表中存储创建和修改记录的时间戳。可以使用两个 TIME 数据类型的列,一个表示创建时间,另一个表示修改时间。以下是一个示例表:

CREATE TABLE MyTable
(
  ID INT NOT NULL,
  CreatedTime TIME(3) NOT NULL,
  ModifiedTime TIME(3) NOT NULL
);

在插入新行时,可以使用 GETDATE()函数获取当前时间:

INSERT INTO MyTable (ID, CreatedTime, ModifiedTime)
VALUES (1, GETDATE(), GETDATE());

结论

在 SQL Server 中, TIME 数据类型用于存储时间值,例如活动的持续时间或预计到达时间。它还可用于存储时间戳。在创建表时,可以指定秒的小数位数。尽管它不能存储日期信息,但它可以与其他日期数据类型(如 DATETIME)一起使用。