首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用SAS/SQL插入函数

使用SAS/SQL插入函数
EN

Stack Overflow用户
提问于 2018-11-08 03:50:57
回答 2查看 852关注 0票数 1

我想要将值插入到一个新表中,但我一直收到相同的错误: values子句1尝试插入的列多于在insert表名后面指定的列。这是如果我不在我的约会对象后面加上撇号的话。如果我放了撇号,那么我会被告知第二个值的数据类型不对应。

代码语言:javascript
运行
复制
    proc sql;
    create table date_table
    (cvmo char(6), next_beg_dt DATE);
    quit;

    proc sql;
      insert into date_table 
    values ('201501', 2015-02-01)
    values ('201502', 2015-03-01)
    values ('201503', 2015-04-01)
    values ('201504', 2015-05-01);
    quit;

第二个值必须保留为日期,因为它稍后与>和<符号一起使用。我认为问题可能是2015-02-01不是一个有效的日期格式,因为我在SAS网站上找不到它,但我宁愿不更改我的整个表。

EN

回答 2

Stack Overflow用户

发布于 2018-11-08 05:13:33

日期文字(常量)由右引号后紧跟字母d的带引号的字符串组成。该字符串的格式必须对DATE信息格式有效。

代码语言:javascript
运行
复制
'01FEB2015'd
"01-feb-2015"d
'1feb15'd

如果您真的想插入一系列日期,那么只需使用带有DO循环的数据步骤。此外,请确保将众多日期格式中的一种附加到日期值,以便将它们打印为人类可以理解的文本。

代码语言:javascript
运行
复制
data data_table ;
  length cvmo $6 next_beg_dt 8;
  format next_beg_dt yymmdd10.;
  do _n_=1 to 4;
    cvmo=put(intnx('month','01JAN2015'd,_n_-1,'b'),yymmn6.);
    next_beg_dt=intnx('month','01JAN2015'd,_n_,'b');
    output; 
  end;
run;

票数 3
EN

Stack Overflow用户

发布于 2018-11-08 06:17:27

@tom在评论中建议你如何使用date,并给出了非常好的答案,如何有效地使用它,这比输入值更不容易出错。我只是将其放入insert语句中。

代码语言:javascript
运行
复制
proc sql;
create table date_table
(cvmo char(6), next_beg_dt DATE);
quit;

proc sql;
  insert into date_table 
values ('201501', "01FEB2015"D)
;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53196793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档