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

如何在SAS中将字符串类型列转换为datetime18.格式

SAS字符串格式时间转datetime18.格式实现方案

你可以通过input函数匹配对应输入格式(informat)将字符串转为SAS datetime数值,再指定datetime18.输出格式即可完成需求,具体操作如下:

核心逻辑

  • 你给出的原始字符串结构为dd/mm/yyyy HH:MM:SS,直接用ddmmyyhh19. informat 即可完成解析,转换为SAS原生datetime数值
  • 转换后为datetime变量指定datetime18.格式,输出样式就是你需要的21Jan20:12:10:20格式

示例代码

单值测试代码

data test_dt;
    /* 原始字符串时间 */
    raw_char = '21/01/2020 12:10:20';
    /* 字符串转datetime数值 */
    dt_val = input(raw_char, ddmmyyhh19.);
    /* 指定输出格式 */
    format dt_val datetime18.;
run;

运行后查看dt_val字段,输出结果即为21JAN20:12:10:20。

整列批量转换代码

假设你的原始数据集名为source_data,待转换的字符串时间字段名为str_datetime,执行以下代码即可新增datetime格式字段:

data result_data;
    set source_data;
    /* 加??修饰符可避免字符串格式不规范时报错 */
    sas_datetime = input(str_datetime, ?? ddmmyyhh19.);
    format sas_datetime datetime18.;
run;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 14:45:04