oracle数据工程师面试题

上传人:人*** 文档编号:396423440 上传时间:2024-02-02 格式:DOC 页数:4 大小:18.50KB
返回 下载 相关 举报
oracle数据工程师面试题_第1页
第1页 / 共4页
oracle数据工程师面试题_第2页
第2页 / 共4页
oracle数据工程师面试题_第3页
第3页 / 共4页
oracle数据工程师面试题_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《oracle数据工程师面试题》由会员分享,可在线阅读,更多相关《oracle数据工程师面试题(4页珍藏版)》请在金锄头文库上搜索。

1、问题:1假设有一个表T_Str中有两列,类型都为varchar2,col1为主键:col1 col2-aa 3,1,4,6,8,0bb 5,9,11,4,7,4现要将col2字符串中的数值升序排序输出:col1 col2-aa 0,1,3,4,6,8bb 4,4,5,7,9,11解答:-创建表并插入测试数据create table t_str(col1 varchar2(1000),col2 varchar2(1000);insert into t_str values(aa,5,9,11,4,7,4);-建立函数F N_SPLIT_STRINGCREATE OR REPLACE FUNCTI

2、ON FN_SPLIT_STRING(P_STR VARCHAR2) RETURN T_STRING AS PV_STR T_STRING := T_STRING(); PV_DELIMITER VARCHAR2(10) := ,; PV_LEN INTEGER := 0; PV_LOOP INTEGER := 0; PV_STARTPOS INTEGER := 0; PV_ENDPOS INTEGER := 0; PV_COLLIST VARCHAR2(1000);BEGIN PV_LEN := LENGTH(PV_DELIMITER); PV_COLLIST := P_STR; LOOP

3、PV_ENDPOS := INSTR(PV_COLLIST, PV_DELIMITER); PV_LOOP := PV_LOOP + 1; PV_STR.EXTEND(1); IF (PV_ENDPOS) 0 THEN PV_STR(PV_LOOP) := SUBSTR(PV_COLLIST, 0, PV_ENDPOS - 1); PV_STARTPOS := PV_ENDPOS + PV_LEN; PV_COLLIST := SUBSTR(PV_COLLIST, PV_STARTPOS); ELSE PV_STR(PV_LOOP) := PV_COLLIST; END IF; EXIT WH

4、EN PV_ENDPOS = 0; END LOOP; RETURN PV_STR;END;-测试结果DECLARE V_A VARCHAR2(100) := NULL;BEGIN FOR MYCUR IN (SELECT COL1, COL2 FROM T_STR) LOOP FOR MYCUR1 IN (SELECT COLUMN_VALUE A FROM TABLE(FN_SPLIT_STRING(MYCUR.COL2) ORDER BY TO_NUMBER(A) DESC) LOOP V_A := MYCUR1.A | , | V_A; END LOOP; DBMS_OUTPUT.PUT_LINE(MYCUR.COL1 | | V_A); V_A := NULL; END LOOP;END;问题:2有表T,该表只有一列i,该列i信息(数据)如下1NULL238.请用SQL语句求如下的结果集(一列):01234.请运用一条语句得到结果(不得运用子查询)答案:select nvl(i,0) from T order by nvl(i,0);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号