SQL Server DATETIME 数据类型介绍

SQL Server 中的 DATETIME 数据类型表示日期和时间值的组合,用于存储从 1753 年 1 月 1 日到 9999 年 12 月 31 日之间的日期和时间。

语法

DATETIME 数据类型的语法如下:

DATETIME

使用场景

DATETIME 数据类型通常用于存储需要精确到分钟的日期和时间信息。它可以用于记录事件发生的时间戳,或者记录创建和修改记录的时间。

示例

以下是三个使用 DATETIME 数据类型的示例:

示例 1: 插入 DATETIME 数据类型

考虑一个订单管理系统,我们可以使用 DATETIME 数据类型来存储订单的创建时间和最后更新时间。

首先,创建一个名为 orders 的表,用于存储订单信息:

CREATE TABLE orders (
   order_id INT PRIMARY KEY,
   customer_name VARCHAR(50) NOT NULL,
   order_date DATETIME NOT NULL,
   last_update DATETIME
);

现在我们可以插入一些数据到 orders 表中:

INSERT INTO orders (order_id, customer_name, order_date, last_update)
VALUES
  (1, 'John Smith', '2022-03-10 10:23:35', '2022-03-11 13:25:20'),
  (2, 'Mary Johnson', '2022-03-11 14:12:07', NULL),
  (3, 'David Lee', '2022-03-11 16:18:50', '2022-03-11 18:30:12');

这里,我们插入了三个订单。第一个订单是由 John Smith 创建的,创建时间为 2022-03-10 10:23:35,最后更新时间为 2022-03-11 13:25:20。第二个订单是由 Mary Johnson 创建的,创建时间为 2022-03-11 14:12:07,最后更新时间为空。第三个订单是由 David Lee 创建的,创建时间为 2022-03-11 16:18:50,最后更新时间为 2022-03-11 18:30:12。

现在我们可以查询 orders 表以查看所有订单的创建时间和最后更新时间:

SELECT order_id, customer_name, order_date, last_update
FROM orders;

运行以上查询语句,将得到以下结果:

order_id customer_name order_date last_update
1 John Smith 2022-03-10 10:23:35.000 2022-03-11 13:25:20.000
2 Mary Johnson 2022-03-11 14:12:07.000 NULL
3 David Lee 2022-03-11 16:18:50.000 2022-03-11 18:30:12.000

示例 2

假设我们有一个 orders 表,用于存储订单信息。我们想要在表中添加一列,用于记录订单的创建时间。

ALTER TABLE orders ADD created_at DATETIME NOT NULL DEFAULT GETDATE();

这将添加一个名为 created_at 的列,其默认值为当前日期和时间。

示例 3

假设我们想要查询所有创建日期在 2022 年 1 月 1 日之后的订单。

SELECT * FROM orders WHERE created_at >= '2022-01-01 00:00:00';

这将返回所有创建日期在 2022 年 1 月 1 日之后的订单记录。

结论

在 SQL Server 中,DATETIME 数据类型是一个常用的日期和时间数据类型,用于存储需要精确到分钟的日期和时间信息。它适用于记录事件发生的时间戳,或者记录创建和修改记录的时间。