You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将字符型YYYY-MM-DD日期转换为数值型ddmmyy10.格式?

解决SAS字符日期转数值日期的错误问题

你的错误根源是用反了函数:PUT函数用于将数值型数据转为字符型,而要把字符型日期转换成数值型日期,必须使用INPUT函数。错误提示里的$YYMMDD找不到,是因为用PUT处理字符变量时,SAS会自动寻找带$的字符格式,但这完全不是你需要的操作逻辑。

正确的代码如下:

Num_date = INPUT(char_date, yymmdd10.);
Format num_date ddmmyy10.;

代码说明:

  • INPUT(char_date, yymmdd10.):按照yymmdd10.输入格式(对应YYYY-MM-DD的字符形式),将字符变量解析为SAS标准数值型日期(本质是从1960年1月1日起算的天数)。
  • Format num_date ddmmyy10.;:把得到的数值型日期,以DD-MM-YYYY的格式显示。

额外提示:

如果char_date变量里存在非YYYY-MM-DD格式的异常内容,可以在输入格式前加??修饰符,避免SAS报错并自动将异常值设为缺失值:

Num_date = INPUT(char_date, ?? yymmdd10.);
Format num_date ddmmyy10.;

内容的提问来源于stack exchange,提问作者marish1358

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 00:38:09