当前位置: 首页 > 知识库问答 >
问题:

SAS:将年和月数据合并为一个MM/DD/YYYY日期,而不改变类型

姚才捷
2023-03-14

问题:我如何将年和月数据合并为一个MM/DD/YYYY日期,而不将数字类型转换为字符类型?

我有需要读入SAS的日期数据。它分为两栏:年和月。数据看起来如下所示:

 YEAR MONTH
 2012 1
 2012 1
 2013 10
 2012 2
 2014 7

我通过以下方式实现了这一点:

if month = 1 then
  date = input(compress("01/01/"||year),mmddyy10.);
else if month = 2 then
  date = input(compress("02/01/"||year),mmddyy10.);
...

但是,日志给出了以下说明:

注意:数值已在:(行):(列)给出的位置转换为字符值。

虽然上面的代码充分解决了我的问题,但注释暗示不应该以这种方式(通过类型转换)处理日期格式

共有1个答案

李敏学
2023-03-14

使用MDY()函数:

date = mdy(month, 1, year)
 类似资料:
  • 我想将日期从07/02/2019转换为2019年7月07日。我的输入值是07/02/2019我想与目标值2019年7月07日进行比较.....请帮助我... public static void main(string[]args)引发ParseException{ 输出:Mon Jul 01 00:00:00 IST 2019这不是我的期望值

  • 我的日期格式为。如何使用JavaScript将其转换为? 上面的代码给了我相同的日期格式,。我该怎么解决这个?

  • 我的输入值是'13/5/201412:00:00am',我需要将此格式更改为'2014-5-1300:00:00',但所有的datetime变量都是以dd-mm-yyyy格式返回的。我不想将日期转换为字符串,我希望将日期值存储在datetime属性中,并使用'yyyy-mm-dd'格式:

  • 问题内容: 我希望将日期格式更改为MM / DD / YYYY,当前为YYYY / MM / DD。 我尝试进行研究,但具有讽刺意味的是,情况总是相反。现在有人可能会说将其向后尝试从那里开始尝试,但没有成功。 我上课的所有事情: 顺便说一下,我不熟悉的简单日期格式类和日期格式类,并且尝试实现它们均未成功。 问题答案: 只需使用即可转换为。无需麻烦的API。 而是在整个代码中使用此对象。每当您需要将

  • 问题内容: 我有一个日期列,其中日期格式为 在SQL Server中。有什么可能的方法来检索日期格式为 在选择语句中? 问题答案: 试试这个: 源链接 附录1: 如我的评论中所述,您需要先将字段转换为类型,然后才能执行上述操作。此示例应在您的SQL Server上运行: 如果出现此异常: 消息242,级别16,状态3,行1将varchar数据类型转换为datetime数据类型导致超出范围的值。 然

  • 问题内容: 我正在尝试从转换日期。我已经使用了mktime()函数和其他函数,但是我似乎无法使其工作。我已经成功地将原始日期用作定界符,但更改格式并将其与交换时没有成功。 任何帮助将不胜感激。 问题答案: 通过查看各个组成部分之间的分隔符,可以消除或格式中的日期的歧义:如果该分隔符是斜杠(),则假定为American ;否则,为0。反之,如果分隔符是破折号()或点(),则采用欧洲格式。 使用默认的