首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将SAS中的日期转换为YYYYMMDD格式

如何将SAS中的日期转换为YYYYMMDD格式
EN

Stack Overflow用户
提问于 2014-08-05 19:03:54
回答 2查看 62.7K关注 0票数 2

在test_1表中,my_date字段是“DATE9”。格式。

我想把它转换成一种纯数字格式(数字长度8),格式为YYYYMMDD

我还想在理想情况下在proc语句中这样做。

到目前为止我的情况是这样的。

显然,我需要一些东西来操作my_date字段。

代码语言:javascript
运行
复制
rsubmit;
proc sql;
    CREATE TABLE test_2 AS      
    SELECT
        my_date
    FROM
        test_1
    ;
quit;    
endrsubmit;

FYI:我发现很难理解SAS中的各种方法。

为了澄清,该字段实际上应该是一个数字,而不是字符字段,也不是日期。

EN

Stack Overflow用户

回答已采纳

发布于 2014-08-05 19:17:10

如果希望该字段存储用于31DEC2014的值31DEC2014,则可以这样做:

代码语言:javascript
运行
复制
proc sql;
  create table want as
   select input(put(date,yymmddn8.),8.) as date_num
     from have;
quit;

input(..)将某物转换为数字,put(..)将某物转换为字符串。在本例中,我们首先使用您想要的格式( put是没有分隔符的YYYYMMDD ),然后用8.表示它,这是我们读取的字符串的长度。

通常,不应该这样做;将日期存储为字符串表示的数字是一个非常糟糕的想法。尽量保持在日期格式内,因为一旦您了解了日期格式,它们就更容易使用了,SAS也会很高兴地与其他数据库一起使用它们的日期类型。如果您想要"20141231“表示(例如,将其放入文本文件),则将其设置为字符变量。

票数 11
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25146404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档