Sas:如何将字符变量转换为日期


您可以使用 SAS 中的input()函数将字符变量转换为日期变量格式。

该函数使用以下基本语法:

 date_var = input (character_var, MMDDYY10. );
date_var format MMDDYY10. ;

下面的例子展示了如何在实际中使用这个功能。

示例:将字符变量转换为 SAS 中的日期

假设我们在 SAS 中有以下数据集,显示商店在六个不同日期的总销售额:

 /*create dataset*/
data original_data;
    input day $sales;
    datalines ;
01012022 15
01022022 19
01052022 22
01142022 11
01152022 26
01212022 28
;
run ;

/*view dataset*/
proc print data = original_data;

我们可以看到day是一个字符变量,但它必须以日期格式表示。

我们可以使用以下代码创建一个新数据集,将日期变量从字符格式转换为日期格式:

 /*create new dataset where 'day' is in date format*/
data new_data;
    set original_data;
    new_day = input (day, MMDDYY10. );
    format new_day MMDDYY10. ;
    drop day;
run ;

/*view new dataset*/
proc print data = new_data; 

注意:我们使用drop函数从数据集中删除原始日期变量。

我们可以看到我们创建的新变量new_day是日期格式的。

请注意MMDDYY10。这只是我们可以使用的一种可能的日期格式。您可以在此处找到 SAS 日期格式的完整列表。

其他资源

以下教程解释了如何在 SAS 中执行其他常见任务:

SAS:如何将字符变量转换为数字
SAS:如何将数值变量转换为字符
SAS:如何用零替换缺失值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注