各位好,我刚开始学SQL ,run程序时有个小问题,帮我分析一下,谢谢
DATA TREAT_EFFECT1;
LENGTH PATIENT_ID $ 4 treat_date $8 phase 3 EFFECT $ 7 DOCTOR_ID $ 5;
input PATIENT_ID$ treat_date phase EFFECT$ EFFECT DOCTOR_ID$;
DATALINES;
P765 11/30/03 2 GOOD D764
P983 09/27/03 1 WORSE D931
P654 07/12/03 3 GOOD D593
P712 01/08/03 1 BETTER D381
P938 04/17/03 2 GOOD D642
P543 09/18/03 3 GOOD D810
P512 10/19/03 2 BETTER D173
P695 12/28/03 3 GOOD D493
P839 12/23/03 1 GOOD D496
;
RUN;
option date pageno=1 linesize=80 pagesize=40;
title "Select Columns From a Table " ;
Proc sql;
select patient_id, doctor_id, int(year(today())- year(treat_date))
as year_intval, substr(effect,1,1) as effect_cd
from TREAT_EFFECT1 (firstobs=2 obs=8);
quit;
但是,在log中出错 907 from TREAT_EFFECT1 (firstobs=2 obs=8);
ERROR: Function YEAR requires a numeric expression as argument 1.
ERROR: Expression using subtraction (-) requires numeric types.
这个为什么?
是不是我year里的日期格式要format一下?
谢谢