全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2628 6
2014-09-14
悬赏 66 个论坛币 已解决
SAS Base 考试题 50题中的第21题里的SAS programs是:

data work.AreaCodes;

       Phonenumber =3125551212;
       Code='('!!substr(Phonenumber, 1, 3)!!')''
run;

里面的Code='('!!substr(Phonenumber, 1, 3)!!')''  , 谁能给出来全面的包括所有细节的解答,必有重赏!




最佳答案

zhengbo8 查看完整内容

1、首先,你的程序无逗号结束,且多了个单引号,无法运行。 2、添加逗号后。 Phonenumber是数值变量,数值长度为10位,但数值存储长度最大只能为8。 因此,SAS系统回默认采用best12.的数值格式存储 Phonenumber。 详细见 http://www.cnblogs.com/zhengbo8/archive/2013/05/18/3085850.html substr(Phonenumber, 1, 3)中 Phonenumber会先自动转换为字符,即长度12胡的字符(前面有两个空格),即' 3125551212'。 subs ...
二维码

扫码加我 拉你入群

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

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

全部回复
2014-9-14 13:00:55
1、首先,你的程序无逗号结束,且多了个单引号,无法运行。
2、添加逗号后。
复制代码


Phonenumber是数值变量,数值长度为10位,但数值存储长度最大只能为8。
因此,SAS系统回默认采用best12.的数值格式存储 Phonenumber。
详细见 http://www.cnblogs.com/zhengbo8/archive/2013/05/18/3085850.html


substr(Phonenumber, 1, 3)中 Phonenumber会先自动转换为字符,即长度12胡的字符(前面有两个空格),即'  3125551212'。
substr(Phonenumber, 1, 3)='  3'

!!即||,表示字符串的连。
故程序结果为'(  3)'。


二维码

扫码加我 拉你入群

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

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

2014-9-14 23:55:59
delete

二维码

扫码加我 拉你入群

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

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

2014-9-15 09:33:18
zhengbo8 发表于 2014-9-14 13:00
1、首先,你的程序无逗号结束,且多了个单引号,无法运行。
2、添加逗号后。
还不算最完整,里面的Code='('!!substr(Phonenumber, 1, 3)!!')',
'('  这个SAS 把(当做了一个character, 所以才用''来涵盖起来,')‘ 也是同样意思。
!! 就是|| 你说的没错
substr()是从字符串或者数值串里选取部分内容的function。
这样解释就完整多了。
多谢啦

我刚查了才知道了的
二维码

扫码加我 拉你入群

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

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

2014-9-15 09:38:42
{:3_44:}
二维码

扫码加我 拉你入群

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

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

2014-9-16 00:57:58
zhengbo8 发表于 2014-9-15 09:38
大神牛您拿到那66论坛币了没有呀?俺就是刚查看了一点儿材料嘚瑟一下,你的答案还是最全面的最牛逼的。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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