全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3394 5
2013-03-27
有道题想请教各位考友,50题中的,题目如下,我认为应该选 C.8, 而不是D.20,因为字符型变量的默认存储长度是8, Length statement 只给定了City的长度,并没有给定City2的长度,可是答案给的是D.20. 请问有何见解啊?

45.The following SAS program is submitted:
data work.test;
length city $20;
city='Paris';
city2=trim(city);
run;
Which one of the following is the length of the city2 variable?
a. 5
b. 6
c. 8
d. 20
二维码

扫码加我 拉你入群

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

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

全部回复
2013-3-27 17:57:59
我猜可能是因为city2的长度是由第一次赋值的长度决定的吧。要是我说不定就选a了,呵呵
二维码

扫码加我 拉你入群

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

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

2013-3-27 22:43:59
LS观点应该是正确的~ trim只是读取数据时去掉了空格而已~
二维码

扫码加我 拉你入群

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

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

2013-3-28 09:05:40
SAS HELP: If the TRIM function returns a value to a variable that has not yet been assigned a length, by default the variable length is determined by the length of the first argument.

字符型变量的长度是由其第一次出现的位置和所在语句决定的。
1. 如果出现在length语句,其长度即为length语句所指定给该变量的长度;
2. 如果出现在list INPUT语句,并且没有指定长度的话,则使用默认长度8;
3. 如果出现在SET语句(其所在的数据集在SET语句),则该变量的长度即为其在该数据集中的长度;
4. 如果第一次出现是将一个字符串赋值给这个变量,那么变量长度就是字符串的长度;
5. 如果是将某个函数的结果赋值给这个变量,那变量长度要根据函数来确定。如 使用trim(),substr(),则使用第一个参数的长度为变量长度; 如使用put(),则变量的长度会等于format的长度; 而repeat()函数会默认将变量长度设为200;等等。
二维码

扫码加我 拉你入群

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

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

2013-3-28 10:22:01
pobel 发表于 2013-3-28 09:05
SAS HELP: If the TRIM function returns a value to a variable that has not yet been assigned a length ...
感谢popel, 基本功很扎实
二维码

扫码加我 拉你入群

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

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

2013-3-28 14:45:59
pobel 发表于 2013-3-28 09:05
SAS HELP: If the TRIM function returns a value to a variable that has not yet been assigned a length ...
在SAS base下运行了这段程序,city2的length果然是20
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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