【发布时间】:2015-12-24 14:12:06
【问题描述】:
大家早上好,
我在一个数据集中有 3 个不同的列,分别用数字表示月份、日期和年份。我现在的问题是在 PROC SQL 中将这些连接在一起,同时将它们格式化为日期。到目前为止,我已经尝试了以下方法,但我只得到将每个日期显示为句点(“.”)的结果。您会注意到我必须将它们转换为字符才能连接它们。
PROC SQL;
SELECT
INPUT(PUT(f.MTH,z2.) || '-' || PUT(f.DAY,z2.) || '-' || PUT(f.YR,z4.),date9.)
FROM
table f
;QUIT;
我厌倦了重新排列年/日/月,并尝试在它们之间使用和不使用“-”。不过,我只是在每一行都有一个句号。
值得注意的是,这些数字在单独连接时看起来很好,没有任何日期格式的尝试。但我需要将他们的列作为数据用于处理的 DATE 列。
PUT(f.YR,z4.)|| PUT(f.MTH,z2.) ||PUT(f.DAY,z2.)
^ 看起来很好,有和没有'-' 分隔数字。关于这一点,date9. 格式并不是绝对需要的日期格式,我真的只需要它是某种 DATE。
我在这里缺少什么?我不应该如此依赖 PROC SQL 来执行此操作吗?
【问题讨论】:
标签: sas proc-sql enterprise-guide