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數據定義