SQL Server 2019 数据类型timestamp和datetime2的区别
一、数据类型timestamp
数据类型:timestamp 的值是二进制数。在插入或更新数据时,自动添加timestamp值,而且还是唯一的值,它不是用来记录 日期/时间字符串的。
表结构:
插入语句:
-- 插入一行
insert into student(id, name, age) values(1001, '刘邦', 45)
-- 查询指定列的值
select id, name, age, db_timestamp from student
二、数据类型datetime2
在数据入库时,我们想给数据入库加上一个时间戳,方便后期根据入库时间戳检索数据是什么时候入库的。
datetime2是SQL Server中一种数据类型,用于存放时间戳(格式: 2022-12-22 12:30:00.000
),具体精确到小数点后几位,取决于定义时的数据类型精度
datetime2(n),其中 n 就表示小数点后的位数,取值范围是 0~7
2-1 手动插入时间戳
表结构:
插入语句:
-- 插入一行
insert into student(id, name, age, db_timestamp) values(1002, '项羽', 40, GETDATE())
-- 查询指定列的值
select id, name, age, db_timestamp from student
2-2 自动插入时间戳
对列 db_timestamp
添加约束,约束逻辑:在插入数据时,自动获取时间戳作为 列db_timestamp 的值
-- 修改表列属性
ALTER TABLE student
ADD CONSTRAINT df_current_time
DEFAULT CURRENT_TIMESTAMP FOR db_timestamp;
插入语句:
-- 插入一行,注意此时未明确指明 列db_timestamp
insert into student(id, name, age) values(1003, '刘邦', 45)
-- 查询指定列的值
select id, name, age, db_timestamp from student
三、参考来源
01_Sql Server-增加字段、修改字段、修改类型、修改默认值 ALTER
04_SQL Server数据库(时间戳timestamp)类型
标签:--,timestamp,db,datetime2,Server,插入,数据类型 From: https://www.cnblogs.com/caojun97/p/16998569.html