您的位置:首页 > 数据库

sql优化:从设计表结构开始(SQL Server中如何让数据库中某一个字段随时间自动更新?)

2016-10-31 11:23 886 查看
今天在sql server论坛看到一个帖子:如何让数据库中某一个字段随时间自动更新?

那么如何来实现呢?

可以用触发器,那么先要写个触发器,但是可能会影响性能。

想了想,其实用sql server提供的 计算列,就可以轻松实现这个需求。

例子如下:

员工表,有字段:人员id,姓名,人员编码,人员入职时间,现在希望要增加一个字段显示工龄,就是在公司工作的时间,如 1.5年。

if object_id('emp') is not null
drop table emp
go

CREATE TABLE emp
(
emp_id INT PRIMARY KEY ,
emp_name NVARCHAR(10) not null,
emp_code VARCHAR(20) not null,
hire_date DATE not null
);
go

INSERT  INTO emp
VALUES  ( 1, N'张三', '0000000100', '2015-01-01' );

实现方法就是新增一个计算列:

alter table emp
add employment_time as cast(datediff(month,hire_date,GETDATE())*1.0/12 as numeric(8,1));

select  * from emp;
查询结果:



何让数据库中某一个字段随时间自动更新
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐