【发布时间】:2012-12-27 07:00:09
【问题描述】:
我有两个表 1 个表是学生表,带有 (sid,dob,address) 另一个表是详细信息,现在在插入详细信息表时,属性是 (sid,age,marks) 我想获取自动派生的年龄学生表(dob)没有输入我该怎么做
【问题讨论】:
我有两个表 1 个表是学生表,带有 (sid,dob,address) 另一个表是详细信息,现在在插入详细信息表时,属性是 (sid,age,marks) 我想获取自动派生的年龄学生表(dob)没有输入我该怎么做
【问题讨论】:
您可以插入选择的结果:
insert into details(sid, age)
select sid, datediff(current_date, dob)
from student
where sid = 123
【讨论】:
attributes 而不是details。我进行了编辑以解决此问题。
您可以通过以下方式获取年龄:
select to_days(now())/365-to_days('1991-08-21')/365;
或
select period_diff(date_format(now(),'%Y%m'),199108)/12;
【讨论】: