SQL Server Time数据类型

在本教程中,学习了如何使用SQL Server DATE数据类型在表中存储日期数据。

SQL Server TIME数据类型简介

SQL Server TIME数据类型根据24小时制定义一天的时间。 TIME数据类型的语法如下:

TIMET [ (fractional second scale) ]

小数秒标度(fractional second scale)指定秒的小数部分的位数。 小数秒标度范围为07。默认情况下,如果未明确指定,则小数秒标度为7

以下示例说明如何使用TIME列创建表:

CREATE TABLE table_name(
    ...,
    start_at TIME(0),
    ...
);

TIME值的默认文字格式是:

hh:mm:ss[.nnnnnnn]

在上面的格式中:

  • hh是两位数,代表小时,范围从023
  • mm是两位数,表示分钟,范围从059
  • ss是两位数,表示秒数,范围从059
  • .nnnnnnn表示秒的小数部分,可以是07位,范围从09999999

默认值为100ms小数秒精度的时间值,需要5个字节的存储空间。

请注意,TIME数据类型不是时区。

SQL Server TIME数据类型示例

以下语句创建一个名为sales.visits的表,其中包含两个TIME列,用于记录客户对商店的访问时间:

CREATE TABLE sales.visits (
    visit_id INT PRIMARY KEY IDENTITY,
    customer_name VARCHAR (50) NOT NULL,
    phone VARCHAR (25),
    store_id INT NOT NULL,
    visit_on DATE NOT NULL,
    start_at TIME (0) NOT NULL,
    end_at TIME (0) NOT NULL,
    FOREIGN KEY (store_id) REFERENCES sales.stores (store_id)
);

以下INSERT语句向sales.visits表插入一行:

INSERT INTO sales.visits (
    customer_name,
    phone,
    store_id,
    visit_on,
    start_at,
    end_at
)
VALUES
    (
        'Maxsu',
        '(+86)18318303853',
        1,
        '2020-08-23',
        '10:10:00',
        '10:35:00'
    );

在本教程中,学习了如何使用SQL Server TIME数据类型在表中存储时间值。


上一篇: SQL Server数据类型 下一篇: SQL Server数据定义