【问题标题】:Change the format from datetime into DDMMYYP10将格式从日期时间更改为 DDMMYYP10
【发布时间】:2020-01-30 20:05:11
【问题描述】:

我尝试了很多将 LOADTIME(格式 Datetime20.)列转换为 DDMMYYP10。但它不起作用。

我也尝试使用 PUT 或 INPUT 以及 DATEPART,但没有任何效果。

PROC SQL;
    UPDATE SERVER.VIEWTABLE V
    SET 'Load_Time__c'n = INPUT(PUT(V.LOAD_TIME, DATETIME20.), DDMMYYP10.);
QUIT;

下面代码的结果是什么都没有,它运行通过但没有写入字段Load_Time__c。

【问题讨论】:

    标签: date sas format


    【解决方案1】:

    SAS 将 DATETIME 值存储为秒数,而 DATE 值是天数。因此,在更改附加到变量的显示格式之前,您需要更改存储在变量中的值。您可以使用 DATEPART() 函数将日期时间值转换为日期值。

    使用新变量创建新数据集可能比尝试修改现有数据集更容易。或者可能是一个新的视图?

    data want ;
      set have ;
      LOAD_TIME = datepart(LOAD_TIME);
      format LOAD_TIME ddmmyyp10.;
    run;
    

    【讨论】:

    • 新视图是不可能的。由于速度的原因,我每次都在晚上复制视图。之后,我想添加更多具有正确数据类型的列。我需要具备良好的分析基础。
    • 因此,您想运行答案中的数据步骤之类的东西来制作副本并创建新变量。在创建数据集后使用 SQL UPDATE 命令修改数据集只会加倍工作。
    猜你喜欢
    • 2022-09-28
    • 2019-02-05
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 2019-10-04
    • 2021-02-06
    • 2015-06-14
    • 1970-01-01
    相关资源
    最近更新 更多