如何在SAS中直接使用oracle 开窗函数使用特有函数

oracle试题及答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
oracle试题及答案
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩16页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢Oracle数据库中的decode函数是Oracle PL/SQL的常用函数之一,那么它的用途是什么呢?接下来我们就介绍这一过程以及如何用SAS宏来实现Oracle数据库中的decode功能。
先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的加20%;工资在8000元或以上的加15%,通常的做法是,先选出记录中的工资字段值? select salary into var-salary from employee,然后对变量var-salary用if-then-else或choose case之类的流控制语句进行判断。 如果用decode函数,那么我们就可以把这些流控制语句省略,通过SQL语句就可以直接完成。
SAS宏实现方法:%macro&decode&/PARMBUFF; &%local&i&count&ifn&valuen&countall&currfeild& &%let&countall=%sysfunc(countw(&SYSPBUFF,%quote(,))); &%let&count=%eval((&countall-1)/2); &%let&currfeild=%scan(%quote(&SYSPBUFF),1); &case&&currfeild& &%do&i=1&%to&& &%let&ifn=%scan(%quote(&SYSPBUFF),%eval(&i*2)); &%let&valuen=%scan(%quote(&SYSPBUFF),%eval(&i*2+1)); &when&&ifn&then&&valuen &% &%if&%eval(&countall&(&count+1))&%then&% &%let&valueelse=%scan(%quote(&SYSPBUFF),&countall); &else&&valueelse &% &end &%&
调用代码如下,和oracle的调用方式和功能实现基本上都是一样的。proc& &create&table&test&as& &select& &Þcode(sex,"男",0,"女",1,2) &as&abc &from&sashelp. &&
【】【】【】【】
ISBN编号:&8
出版时间:&2013-3
出版社:&中国人事出版社
定价:¥45 优惠价:¥45&&ISBN编号:&9
出版时间:&2013-4
出版社:&中国人事出版社
定价:¥45 优惠价:¥45&&
????????????
????????????
         Copyright ©
() All Rights Reserved114网址导航下次自动登录
现在的位置:
& 综合 & 正文
oracle 和SAS之间传递数据 sas中文日期格式输出
1 尝试在数据库(例如在本地的mysql和oracle)和SAS之间传递数据,数据库的品种任选,数据集自行构建。将实验过程抓图。
2 读入一些日期值(自行构建数据源),要求以中文日期格式输出(例如”日“),给出,欢迎多种方法尝试
用oracle的函数不行
select TO_char(HIREDATE, 'yyyy"年"mm"月"dd"日"')
from orcl.
------------------------------------------------------------------------------
libname orcl oracle user=scott password=set orcl.picture china_datelow-high='%Y年 %m月 %d日
' (datatype=datetime);proc print data=format HIREDATE china_date.;
这样就对了
要多几个空格
3 (本题可选,选择本题可以不做1)尝试在两种不同的数据库(例如在本地的mysql和oracle)之间通过SAS传递数据,数据库的品种任选,数据集自行构建。将实验过程抓图。
在控制面板-管理工具-&数据源(ODBC)-》系统DSN中建立一个SQLSERVER的ODBC就可以了,这里一定要是系统DSN的
libname mydb odbc uid=sa pwd=admin888 dsn=
oracle跟sqlserver数据互连:
libname orcl oracle user=scott password=libname mydb odbc uid=sa pwd=admin888 dsn=
create table orcl.test2 as select * from orcl./* oracle
到oracle*/
create table mydb.test2 as select * from orcl. /*oracle到sqlserver */
&&&&推荐文章:
【上篇】【下篇】

我要回帖

更多关于 oracle自定义函数使用 的文章

 

随机推荐