PROC SQL 中的 WHERE 语句用于从格式化为 datetime20 的列中过滤日期

问题描述 投票:0回答:1

我有一个格式为 datetime20 的列。每当这个日期是 2023 年 7 月 7 日时就需要所有数据,但我在编写它时遇到了一些麻烦。

有谁知道有什么办法吗?这可能是一个新手问题,但我仍在学习

提前致谢

我尝试了所有我能想到的并在谷歌上找到的东西,格式,日期部分,演员......但似乎没有任何效果

sql date datetime sas where-clause
1个回答
0
投票

首先,确保您的列是 SAS 日期时间。如果是,您可以将其转换为日期并使用日期文字:

'07JUL2023'd

proc sql;
    select *
    from have
    where datepart(datetime) = '07JUL2023'd
    ;
quit;

或者使用日期时间文字:

'07JUL2023:00:00'dt

proc sql;
    select *
    from have
    where datetime between '07JUL2023:00:00'dt and '07JUL2023:23:59'dt
    ;
quit;

否则,如果是字符串,则需要使用

input
函数将其转换为 SAS 日期时间。

proc sql;
    select *
    from have
    where datepart(input(datetime, datetime20.)) = '07JUL2023'd
    ;
quit;
© www.soinside.com 2019 - 2024. All rights reserved.