全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4336 12
2016-03-22
                                                                                                                                                题目如下
[size=12.000000pt]
The following SAS program is submitted:
data work.test;
Author = 'Agatha Christie';
First = substr(scan(author,1,' ,'),1,1);
run;
Which one of the following is the length of the variable FIRST in the output dataset?
[size=12.000000pt]A. 1 B. 6 C. 15 D. 200
[size=12.000000pt]Answer: D
[size=12.000000pt]

然后我跑了如下的程序:


data test;

Author = 'Agatha Christie';

First = substr(scan(author,1,' ,'),1,1);

run;


proc datasets;

contents data= test;


run;



结果如下

Alphabetic List of Variables and Attributes

#

Variable

Type

Len

1

Author

Char

15

2

First

Char

15


为什么答案说是200?

我不明白。

求解


                                
                        
               
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-3-22 14:28:19
scan默认字符长度为200
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-3-22 17:05:42
Scan函数如果没有指定变量的长度,则系统默认长度为200。另外,如果scan截取字符的长度大于被截取的字符长度,则会返回空值的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-3-24 14:07:20
920240553 发表于 2016-3-22 17:05
Scan函数如果没有指定变量的长度,则系统默认长度为200。另外,如果scan截取字符的长度大于被截取的字符长度 ...
谢谢!我明白了!
但是为什么在实际运行程序中我返回的字段长度不是200呢..是调用的 Proc datasets 不对么?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-3-24 14:07:59
孤单的我们 发表于 2016-3-22 14:28
scan默认字符长度为200
谢谢!但是为什么在实际运行程序中我返回的字段长度不是200呢..是调用的 Proc datasets 不对么?我在一开始也没有定义变量啊。scan函数生成的变量事新的变量啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-3-24 16:25:37
forwings 发表于 2016-3-24 14:07
谢谢!但是为什么在实际运行程序中我返回的字段长度不是200呢..是调用的 Proc datasets 不对么?我在一开 ...
复制代码
你测试一下
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群