sql - 从科学计数法到 yyyy/mm/dd hh :mm:ss 的 SAS 时间戳

标签 sql database sas

问题:

我的时间戳以科学记数法显示。我想显示没有科学记数法的列,并创建第二列,格式为长日期,yyyy/mm/dd hh:mm:ss。

采取的步骤:

我已经将该列从 UNIX 纪元 (1960) 时间戳转换为 SAS 时间 (1970) 时间戳。但科学计数法仍然存在。我试过日期 20。也不行。

Timestamp in Scientific Notation

我当前的不足代码无法将时间戳列格式化为日期。

proc print data=heart._23a;
    format timestamp date9.;
run;

结果:

它不会导致错误,但它 redimensions my matrix to a 1x3 .我需要获得一个相同维度的矩阵,只是带有重新格式化的时间戳。感谢任何帮助,但请保持简单,我在未知领域!

最佳答案

datetime17. 是 SAS 中的标准时间戳格式,但您还有许多其他选择。 ymddttm.我相信,这与您正在寻找的最接近。

这里有一个重要区别:SAS 有两个概念,datedatetimedate 是自 1/1/1960 以来的天数并且没有时间部分,而 datetime 是自 1/1/1960 以来的秒数00:00:00 并且有时间和日期。您可以使用 datepart 转换日期时间 -> 日期,或使用 dhms 转换日期 -> 日期时间。

你的问题似乎也让两个时代倒退了。 UNIX 纪元是 1970。SAS 纪元是 1960。

最后,如果您想显示原始秒数,请使用 w.d 格式而不是 bestw.d 格式 - format timestampvar 14。 例如,w 是包括小数在内的总字符数(数字)。

关于sql - 从科学计数法到 yyyy/mm/dd hh :mm:ss 的 SAS 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38208722/

相关文章:

mysql - MySQL VARCHAR 可以存储任何字符吗?

php - 两个 php 表单。第二种形式从第一种形式获取数据。但刷新第二页显示错误

sas - 数据清理: processing extra if statements vs performing extra assignments

sas - 根据包含元数据的文件构建 SAS 数据集

SAS-读取数据中嵌入变量名称的输入数据

SQL查询: To find an actors who did more films with Quentin Tarantino

database - 最大基数和最小基数有什么区别?

mysql - 优化 多数据库更新

c++ - 为什么 INSERT 和 DELETE 会搞砸 QTableView(Qt、C++、sqlite)?

sql - 在 Hive 中,有没有办法解析同一 XML 系列中多次出现的同一标签?