在 proc SQL (SAS) 中将时间(日期类型)转换为数字
Convert time (date type) to numeric in proc SQL (SAS)
我有一个日期时间变量 (x= '19NOV2021: 10:00:00'),它是一个日期类型。我正在尝试获取小时数并将其转换为数字。在这种情况下,只有 10.
proc sql;
create table abc as
select timepart(x) as x format=time2.
以上输出 10 作为日期类型。我使用下面的尝试将其转换为数字,但得到 3(数字类型)作为我的输出:
proc sql;
create table def as
select input(put(x,best.),8.) as x
如何将时间转换为数字并得到 10 作为我的输出?
使用hour()
.
timepart()
returns SAS 时间,表示自午夜以来经过的秒数。您可以使用 hour(timepart(x))
,但没有必要,因为 hour
适用于日期时间和时间。
我有一个日期时间变量 (x= '19NOV2021: 10:00:00'),它是一个日期类型。我正在尝试获取小时数并将其转换为数字。在这种情况下,只有 10.
proc sql;
create table abc as
select timepart(x) as x format=time2.
以上输出 10 作为日期类型。我使用下面的尝试将其转换为数字,但得到 3(数字类型)作为我的输出:
proc sql;
create table def as
select input(put(x,best.),8.) as x
如何将时间转换为数字并得到 10 作为我的输出?
使用hour()
.
timepart()
returns SAS 时间,表示自午夜以来经过的秒数。您可以使用 hour(timepart(x))
,但没有必要,因为 hour
适用于日期时间和时间。