Function 从DATETIME18的现有变量创建一个月数为的变量。SAS中的informat

Function 从DATETIME18的现有变量创建一个月数为的变量。SAS中的informat,function,sas,informat,Function,Sas,Informat,我试图做一些非常简单但失败惨重的事情 使用SAS查询生成器,我想基于现有的日期变量创建一个带有月数的新变量 我想更改的变量示例如下: 2015年1月7日00:00 所以我想创建一个数字为1的新变量 我现有的变量有一个informat DATETIME18 因此,我尝试了以下方法: month(t1.My_Date) month(t1.My_Date, 'DATETIME18.') 以上两种方法都会创建一个新变量,但所有字段均为空 因此我想更改变量informat以删除时间元素&然后使用mont

我试图做一些非常简单但失败惨重的事情

使用SAS查询生成器,我想基于现有的日期变量创建一个带有月数的新变量

我想更改的变量示例如下: 2015年1月7日00:00

所以我想创建一个数字为1的新变量

我现有的变量有一个informat DATETIME18

因此,我尝试了以下方法:

month(t1.My_Date)
month(t1.My_Date, 'DATETIME18.')
以上两种方法都会创建一个新变量,但所有字段均为空

因此我想更改变量informat以删除时间元素&然后使用month函数,因此我尝试:

MDY(t1.Issue_Date, 'DATETIME18.', 'DATEw.')
但我得到以下错误: 错误:函数MDY需要一个数值表达式作为参数2。 错误:函数MDY需要一个数值表达式作为参数3

有什么想法吗?我基本上想从变量中提取月数,当变量有DATETIME18时。告密者

提前谢谢
Paul

您的变量是datetime,
month()
函数处理日期。在使用
month()
之前,先使用
datepart()
函数:


你看过文件了吗
mdy()
与格式无关……谢谢,这正是我所希望的&我做了一件好事。:)
month(datepart(t1.My_Date))