SAS SQL日期格式
问题描述:
只是想知道如何改变下面的查询来以我想要的格式显示日期。我正在使用SAS来提取这些数据。SAS SQL日期格式
现有的日期格式:15MAR2011:09:05:16.000000
格式我想:15MAR2011:09:05:16
查询我使用:
proc sql;
create table data.test as
select * from connection to odbc
(
select ID,
DATE AS CREATION_DATE,
from maintable
);
quit;
答
一个format
影响如何SAS显示一个变量值。它不影响实际价值本身。
因此,假设变量CREATION_DATE是一个日期时间值,只需将其赋值为DATETIME20格式即可。以显示你想要的:
proc sql;
create table data.test as
select ID, CREATION_DATE format=datetime20.
from connection to odbc
(select ID, DATE AS CREATION_DATE
from maintable);
quit;
然而,一些ODBC接口将返回你的日期列作为字符串,所以你需要确保它显示了SAS侧作为一个适当的日期时间值了。
我试着将其添加到我的代码版本中(我注意到你修改了SQL语句),但它没有工作。我是否需要以您发布的表单使用它? – Adam 2012-08-14 17:04:40
我做的唯一更改就是您的外部SELECT语句,它使用SAS语法定义列。您的内部SELECT由远程数据源使用ODBC执行。如果在内部SELECT中有其他列,则需要将它们添加到外部SELECT中。如果你有错误,请给我留言。只说“它没有用”是没有用的。 – BellevueBob 2012-08-14 17:14:32
感谢您的意见!我现在明白了 - 外部选择是“设置”表的结构,内部选择是从ODBC中填充数据。问题:为什么我们不在内部select中使用select * from语句?它还会选择*吗? – Adam 2012-08-14 17:22:46