-1

我正在尝试一些非常简单但惨遭失败的事情。

使用 SAS 查询生成器,我想根据现有的日期变量创建一个带有月份编号的新变量。

我要更改的变量的一个示例是:07/01/2015 00:00

所以我想创建一个带有数字 1 的新变量。

我现有的变量有一个信息 DATETIME18。

所以我尝试了以下方法:

month(t1.My_Date)
month(t1.My_Date, 'DATETIME18.')

以上两者都创建了一个新变量,但所有字段都是空的。

所以我想改变变量信息以删除时间元素然后使用月份函数,所以我尝试了:

MDY(t1.Issue_Date, 'DATETIME18.', 'DATEw.')

但我收到以下错误:错误:函数 MDY 需要一个数值表达式作为参数 2。错误:函数 MDY 需要一个数值表达式作为参数 3。

有任何想法吗?当变量具有 DATETIME18 时,我基本上想从变量中提取月份数。提供信息。

提前感谢保罗

4

1 回答 1

3

您的变量是 datetime 并且month()函数适用于日期。使用datepart()前使用功能month()

month(datepart(t1.My_Date))
于 2016-05-26T16:40:22.410 回答