gpt4 book ai didi

SAS:在where子句中将日期时间转换为日期

转载 作者:行者123 更新时间:2023-12-02 17:32:28 25 4
gpt4 key购买 nike

我在日期时间 25.6 格式的 sas 数据集中有一列;让我们将此列称为日期时间。我想在 where 子句中将其转换为 Date9 格式并检查某个日期或日期变量。

我目前有以下代码:

proc sql;
Select rowid, name, dob, country
from db.testTable
where cast(datetime as date9.) eq '14sep2014'd
;
quit;

当我运行上面的代码时出现错误:

ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, ), *, **, +, ',', -, /, <, <=, <>, =, >, >=, ?, AND, BETWEEN, CONTAINS, EQ, EQT, GE, GET, GT, GTT, IN, IS, LE, LET, LIKE, LT, LTT, NE, NET, NOT, NOTIN, OR, ^, ^=, |, ||, ~, ~=.

ERROR 202-322: The option or parameter is not recognized and will be ignored.

如果使用以下命令,我会收到相同的错误消息

proc sql;
Select rowid, name, dob, country
from db.testTable
where cast(datetime as date9.) = '14sep2014'd
;
quit;

有没有更好的方法将 datetime 转换为 SAS 中的 date9 格式?对此的任何帮助将不胜感激

最佳答案

在 SAS 中,您可以使用 datepart() 函数从日期时间值中提取日期值:

where datepart(datetime) = '14sep2014'd

无需指定格式,因为它不会影响基础值。

关于SAS:在where子句中将日期时间转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31302928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com