sql触发器问题? 表:tbUserInfo(Name,Birthday,Age)当我在表里插入数据时,插入Birthday时,它会与当前的时间计算,将计算的时间差(年)插入到字段Age,请问我用触发器该如何实现啊??或者不用触发器也可以,请教了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 age as datediff(year,birthday,getdate()) 可以在后台代码处理在添加用户信息的时候可以对Age进行计算获取当年的年份减去Birthday的年份得到Age进行数据的添加。 CREATE TABLE #tbUserInfo( [Name] VARCHAR(10), Birthday DATETIME, Age INT)GO--SQL:INSERT #tbUserInfo( [Name], Birthday, Age)SELECT 'a', '1980-01-01', DATEDIFF(YEAR, '1980-01-01', GETDATE())--RESULTSELECT * FROM #tbUserInfo/*Name Birthday Age---------- ----------------------- -----------a 1980-01-01 00:00:00.000 31*/ SELECT 'a', '1980-01-01', YEAR(GETDATE())-YEAR('1980-01-01') 这个表设计有问题,正确来说,有Birthday就不应该再有age字段出现,反之一样。 参考:http://www.cnblogs.com/insus/articles/2019995.html 帮忙转sql2005数据库文件到sql2000。分全给你 关于updater的使用问题 求一SQL语句 这个要求是不是用临时表就可以了? 高手请帮帮忙哦 如何Server2003上SqlServer2008故障转移集群节点增加功能? 求助UPDATE 更新.. 分组后进行排序求助 修改与读取频繁的情况怎么优化?有没有方法让一张表读写分离? 【关于使用sql生成五位字母+数字自增的编号】速结帖 关于SQLSever2008安装是出现的问题 Sqlserver2008 R2在安装sp1插件后提示功能消失了
在添加用户信息的时候可以对Age进行计算
获取当年的年份减去Birthday的年份得到Age进行数据的添加。
(
[Name] VARCHAR(10),
Birthday DATETIME,
Age INT
)
GO
--SQL:
INSERT #tbUserInfo
(
[Name],
Birthday,
Age
)
SELECT
'a',
'1980-01-01',
DATEDIFF(YEAR, '1980-01-01', GETDATE())
--RESULT
SELECT * FROM #tbUserInfo
/*
Name Birthday Age
---------- ----------------------- -----------
a 1980-01-01 00:00:00.000 31
*/
'a',
'1980-01-01',
YEAR(GETDATE())-YEAR('1980-01-01')
http://www.cnblogs.com/insus/articles/2019995.html