您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页oracle数据工程师面试题

oracle数据工程师面试题

来源:化拓教育网
问题:1

假设有一个表T_Str中有两列,类型都为varchar2,col1为主键: col1 col2 ---------------------------- aa 3,1,4,6,8,0 bb 5,9,11,4,7,4

现要将col2字符串中的数值升序排序输出: col1 col2 ---------------------------- aa 0,1,3,4,6,8 bb 4,4,5,7,9,11 解答:

--创建表并插入测试数据 create table t_strcol1 varchar21000,col2 varchar21000; insert into t_str values'aa','5,9,11,4,7,4'; --建立函数F N_SPLIT_STRING CREATE OR REPLACE FUNCTION FN_SPLIT_STRINGP_STR VARCHAR2 RETURN T_STRING AS PV_STR T_STRING := T_STRING; PV_DELIMITER VARCHAR210 := ','; PV_LEN INTEGER := 0; PV_LOOP INTEGER := 0; PV_STARTPOS INTEGER := 0; PV_ENDPOS INTEGER := 0; PV_COLLIST VARCHAR21000; BEGIN PV_LEN := LENGTHPV_DELIMITER; PV_COLLIST := P_STR; LOOP PV_ENDPOS := INSTRPV_COLLIST, PV_DELIMITER; PV_LOOP := PV_LOOP + 1; 1; IF PV_ENDPOS > 0 THEN PV_STRPV_LOOP := SUBSTRPV_COLLIST, 0, PV_ENDPOS - 1; PV_STARTPOS := PV_ENDPOS + PV_LEN; PV_COLLIST := SUBSTRPV_COLLIST, PV_STARTPOS; ELSE PV_STRPV_LOOP := PV_COLLIST; END IF; EXIT WHEN PV_ENDPOS = 0; END LOOP; RETURN PV_STR; END; --测试结果 DECLARE V_A VARCHAR2100 := NULL; BEGIN FOR MYCUR IN SELECT COL1, COL2 FROM T_STR LOOP FOR MYCUR1 IN SELECT COLUMN_VALUE A FROM TABLEFN_SPLIT_STRING ORDER BY TO_NUMBERA DESC LOOP V_A := || ',' || V_A; END LOOP; || ' ' || V_A; V_A := NULL; END LOOP; END; 问题:2

有表T,该表只有一列i,该列i信息数据如下 1 NULL 2 3 8 ….

请用SQL语句求如下的结果集一列: 0 1 2 3 4 …..

请使用一条语句得到结果不得使用子查询 答案: select nvli,0 from T order by nvli,0;

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务