【问题标题】:SAS numeric date format to dd/mm/yySAS 数字日期格式为 dd/mm/yy
【发布时间】:2014-09-09 06:26:37
【问题描述】:

您好,关于 SAS 的基本问题。

我的数据集的日期格式为 yyyymmdd,类型为数字。我想转换该列,以便日期为 dd/mm/yyyy。可能是一个非常基本的代码,但我对 SAS 很陌生。

干杯

【问题讨论】:

  • 你有没有尝试过?你的代码在哪里?

标签: sas


【解决方案1】:
proc sql;
alter table <library.table>
modify <column> format=ddmmyys10.;
quit;

对于斜线分隔符,ddmmyys10 中有“s”。格式。

或者:

proc datasets lib=<library> nolist nodetails;
modify <table>;
format <column> ddmmyys10.;
quit;

【讨论】:

  • 我已经能够利用这个希望取得一些成功,感谢您的帮助。如果格式是 datetime15,你有什么建议吗?到目前为止,它存储为 30NOV94:00:00,我喜欢它的格式为 ddmmyys10。但由于某种原因,它总是最终将日期转换为数百万的长数字。
  • 如果当前格式是日期时间。那么很可能代表日期时间,而不仅仅是日期。对于 SAS,datetime 值是自 1960 年 1 月以来的秒数,而对于 date,它是天数。因此,您需要通过运行proc sql; update &lt;lib&gt;.&lt;table&gt; set &lt;column&gt; = DATEPART(&lt;column&gt;); quit; 将日期时间的值“转换”到日期之后,ddmmyys10。将显示正确的日期。
  • 我无法让它工作。将设置 vardate = datepart(vardate);是正确的语法吗?或者我应该在 datepart() 中放置什么?
  • proc sql; update mylib.mytable set vardate = DATEPART(vardate); quit;
  • 不走运。不管怎么说,还是要谢谢你。代码确实有效......但我认为我导入数据的方式一定有错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 2012-03-05
  • 2020-02-29
  • 2022-11-19
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
相关资源
最近更新 更多