gpt4 book ai didi

datetime - sas: unable to figure out INTCK function 错误

转载 作者:行者123 更新时间:2023-12-02 05:00:24 29 4
gpt4 key购买 nike

我正在尝试以下列方式使用 INTCK,但出现错误。我不确定我做错了什么。我将不胜感激你的帮助。谢谢。

PROC FORMAT;
PICTURE DTFMT LOW-HIGH='%0m/%0d/%Y' (DATATYPE=DATETIME);
RUN;

data want;
dt_val1='17JUL2006:00:00:00.000'dt;
dt_val2='17AUG2012:00:00:00.000'dt;
format dt_val1 dt_val2 dt_val3 dtfmt.;
dt_val3=intck('MONTH',dt_val1,dt_val2);
put dt_val3;
run;

最佳答案

了解 SAS 中日期和日期时间值之间的区别很重要。这在本网站和其他网站上经常被提及。这是 official documentation和摘录。

SAS date value is a value that represents the number of days betweenJanuary 1, 1960, and a specified date.

SAS time value is a valuerepresenting the number of seconds since midnight of the current day.SAS time values are between 0 and 86400.

SAS datetime value is a valuerepresenting the number of seconds between January 1, 1960, and anhour/minute/second within a specified date.

它们不能互换使用,但您可以在它们之间进行转换。看来您应该在此应用程序中使用日期变量。这可能会让你的事情变得更容易一些。

将日期转换为日期时间很容易,将日期时间值转换为日期更容易:

dateval = datepart(dtval);

就是说,您的 intck 函数可能会抛出错误,因为“MONTH”是日期间隔而不是日期时间间隔。使用“DTMONTH”可能会起作用。请看这个link了解更多详情。

关于datetime - sas: unable to figure out INTCK function 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17192790/

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