如何通过两个字符型的日期计算年龄,SAS代码或SQL代码均可

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:18:35
如何通过两个日期,一个是客户出生日期,一个是事件发生日期,计算在事件发生时客户的年龄,SAS代码或SQL代码均可,我要分析的数据集中两个日期都是字符型的,直接用datediff报错,谢谢达人相助
两个字段名:出生日期为'ta290001008',事件发生日期为'ta500251056',请写出我可以直接用的代码。 (注意:以上是两字段名,而不是字段值,谢谢) 我的数据是SAS数据集。

字符型的可以转换成datetime 来用阿

select datediff(year,convert(datetime,'20070802'),convert(datetime,'2009/06/05'))
希望能帮上你

'ta290001008','ta500251056'怎么理解这2个日期?

最好把数据的格式写出来,就是写出一个时间的例子来
看看下面的行不?
select datediff(year,convert(datetime,ta290001008),convert(datetime,ta500251056)) from 表

data tmp;
born='1991/12/12';
today='2009/01/01';
age=year(input(today,yymmdd10.))-year(input(born,yymmdd10.));
run;
如果日期格式是其他的,把input函数中的格式换成相应的就行。

'ta290001008'
'ta500251056'
作为日期怎么解释的呢?或者是怎样看做日期的呢?你数据库是什么数据库呢?(ACCESS?MSSQL?ORACLE?)

楼主,你那个出生日期怎么理解啊?

ta290001008 是那年那月出生的?

age=substr(put(year1,yymmdd10.),1,4)-substr(put(year0,yymmdd10.),1,4);