取得列名组合成的字符串
开发中常常会用到一个表的字段组成的字符串,通常是用逗号分隔的一个列表,例如C_DM, C_MC, N_YXX以前都是desc 表,然后将列名复制粘贴到Word里,然后用查找替换的方式将回车替换成“,”或者其他分隔符来做到,现在用sql来得到select str from ( select str, rank()over(order by length(str) desc) rk from ( select sys_connect_by_path(column_name,'&Prefix') str from ( select s.*, rank()over(order by column_id desc) rn from user_tab_cols s where s.table_name=upper('&x') ) connect by rn = prior rn-1) ) wher
Oracle 9201下connect by的bug
原来在对含有connect by子句的多表关联的视图做查询时(以某个字段为条件进行查询),也碰到过问题——结果记录显示不正确(比如直接在视图里看到满足条件的记录就两个,可用sql去查却能查出多了好些)c是含有connect by子句的多表关联查询语句代码: select count(*) from c -->结果为15 select count(*) from c where field1='123'-> 结果为27 。。。。。。。。。后来改成含connect by的子句不做多表关联查询,只做单表查询,再将查询的结果做多表关联。这样就解决了问题。具体模拟实例有空再贴[@
测试一下你的Oracle有Full Outer Join的Bug么?9i以上请进(2)
Bug2: FULL OUTER JOIN = LEFT OUTER JOIN奇怪的是,如果将select a.*,b.mc MC1, c.mc MC2 from ts a,tdm b, tdm cwhere A.dm1 = B.DM(+) AND B.type(+)='1'and A.dm2 = c.DM(+) AND c.type(+)='2'创建为视图create view vts as select a.*,b.mc MC1, c.mc MC2from ts a,tdm b, tdm cwhere A.dm1 = B.DM(+) AND B.type(+)='1'and A.dm2 = c.DM(+) AND c.type(+)='2'/则下面的查询结果就是正确的[@more@]代码: SQL> select s.*,p.* from 2 vts s full outer join 3 (select * from (select tp.*,rank()over(order by id) rn fr
测试一下你的Oracle有Full Outer Join的Bug么?9i以上请进
BUG描述:FULL OUTER JOIN <> LEFT OUTER JOIN UNION RIGHT OUTER JOIN不知道Oracle网站上有没有相关描述,我在网上相关信息只搜索到left outer join可使用户可以查询任何表我的数据库服务器环境:OS:Windows 2000 Server DB:Oracle 9.2.0.1测试请写出你的数据库服务器环境[@more@]创建测试表--子表CREATE TABLE TS(ID VARCHAR2(4 BYTE),PID VARCHAR2(4 BYTE),DM1 VARCHAR2(4 BYTE),DM2 VARCHAR2(4 BYTE));--父表,ID与子表PID对应CREATE TABLE TP(ID VARCHAR2(4 BYTE),CON VARCHAR2(4 BYTE));--代码表CREATE TABLE TDM(TYPE VARC
铅笔的原则
铅笔即将被装箱运走,制造者很不放心,把它带到一旁跟它说:“在进入这个世界之前,我有5句话要告诉你,如果你能记住这些话,就会成为最好的铅笔。” 1.你将来能做很多大事,但是有一个前提,就是你不能盲目自由,你要允许自己被一只手握住; 2.你可能经常会感受到刀削般的疼痛,但是这些痛苦都是 必须的,它会使你成为一支更好的铅笔; 3.不要过于固执,要承认你所犯的任何错误,并且勇于改正它; 4.不管穿上什么样的外衣,你都要清楚一点,你最重要的部分总是在里面; 5.在你走过的任何地方,都必须留下不可磨
[转载]Oracle数据库字符集问题解析3
继续问题解答[@more@]ygzeng:收获很大,在测试过程中,增加了一些新的case,在测试过程中,发现“替代字符”往往容易转换成“靠”,“?”,“?”,“驴”,对这些乱码的产生原因有些不解!1,数据库字符集设为gb2312,客户端设为WE8ISO8859P1,然后插入数据,读取数据SET NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1sqlplus system/manager@gb2312select * from nls_database_parameters where PARAMETER='NLS_CHARACTERSET'; PARAMETER VALUE--------------------------------- ---------------------------------NLS_CHARACTERSET ZHS16CG
查询出N分钟内同一主叫拨打同一被叫次数超过M次的用户
有一张电话通话记录的表,字段有:id,主叫号码caller,被叫号码callee,开始时间begintime,结束时间endtime。请问如何查询出N分钟内同一主叫拨打同一被叫次数超过M次的这些用户??http://www.itpub.net/450873.html[@more@]By LastWinnerselect caller,callee from(select caller,callee,begintime-lag(begintime)over(partition by caller, callee order by begintime) call_interval from tab) where call_interval begin 0 and 3/1440如果是要超过M次的,M>=2,那么select caller,callee from(select caller,callee,begintime-lag(beg
[转载]REF CURSOR 小结
原文地址: http://www.itpub.net/443352.html 原文发表者:zhyuhREF CURSOR 小结 利用REF CURSOR,可以在程序间传递结果集(一个程序里打开游标变量,在另外的程序里处理数据)。也可以利用REF CURSOR实现BULK SQL,提高SQL性能。REF CURSOR分两种,Strong REF CURSOR 和 Weak REF CURSOR。Strong REF CURSOR:指定retrun type,CURSOR变量的类型必须和return type一致。DECLARETYPE strongcurtyp IS REF CURSOR RETURN emp%ROWTYPE;emp_cv strongcurtyp;Weak REF CURSOR:不指定return type,能和任何类型的CURSOR变量匹配。DECLARETYPE wea
[转载]Oracle数据库字符集问题解析2
实验结果分析五quote: SQL> INSERT INTO TEST VALUES('东北');1 row created.SQL> EXIT更改客户端字符集为ZHS16GBKD:>SET NLS_LANG=AMERICAN_AMERICA.ZHS16GBKD:>SQLPLUS "/ AS SYSDBA"无法显示用US7ASCII插入的字符集,但可以显示用ZHS16GBK插入的字符集SQL> SELECT * FROM TEST;R1--------------------东北??东北6+11SQL>疑问3:US7ASCII为ZHS16GBK的子集,为何在US7ASCII环境下插入的数据无法显示? [/B] [@more@]在客户端字符集设置为US7ASCII时,向字符集为ZHS16GBK的数据库中插入“东北”,需要进行字符
[转载]Oracle数据库字符集问题解析1
原文地址:http://www.itpub.net/276524.html作者:jeffli73经常看到一些朋友问ORACLE字符集方面的问题,我想以迭代的方式来介绍一下。第一次迭代:掌握字符集方面的基本概念。 有些朋友可能会认为这是多此一举,但实际上正是由于对相关基本概念把握不清,才导致了诸多问题和疑问。首先是字符集的概念。我们知道,电子计算机最初是用来进行科学计算的(所以叫做“计算机”),但随着技术的发展,还需要计算机进行其它方面的应用处理。这就要求计算机不仅能处理数值,还能处理诸如文字、特殊符号等其它信息,而计算机本身能直接处理的只有数值
Google的21道面试题,答对者可获工作机会(中文版)
今年10月底,Google在美国《麻省技术评论》、《LinuxJournal》、《Mensa》、《今日物理》等几本专业杂志上刊登了一份“Google实验室能力倾向测试”的试卷,开头蛊惑地写着“试试看!把答案寄回Google,你有希望去Google总部参观,并成为我们其中一员”。有兴趣的人可以做完了邮寄给Google公司,也许会得到一个工作机会呢。 [@more@] 1、解答下面的隐藏等式,其中的M和E的值可以互换,但不允许第一位是0: WWWDOT - GOOGLE = DOTCOM 2、用一个俳句(一种日本短诗,每句有一个与季节有关的词)来建立模型,借此预测网络搜索流量
获得可用的最小正整数
假设表TTT中没有重复的数字,现在要获得其中最小的未被使用的正整数select nvl(max(n+1),1) minInt from (select n,n-row_number(order by n) cha from ttt) where cha=0[@more@]
[转载]上传下载全攻略jspSmartUpload
一、安装篇 jspSmartUpload是由www.jspsmart.com网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。该组件有以下几个特点: 1、使用简单。在JSP文件中仅仅书写三五行JAVA代码就可以搞定文件的上传或下载,方便。 2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。 3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。 4、下载灵活。仅写两行代码,就能把
dynarch
http://www.dynarch.com做得真牛,非常漂亮[@more@]
显示每个班分数前的15%名的同学名单
create table a (class varchar2(8),student varchar2(100),score number(3))class 代表班,应该有一班,二班,三班...student学生score分数有多个班,每个班有多名同学现在想查询并显示每个班分数前的15%名的同学名单,请问该如何写查询语句[@more@]select class,student,score from(select class,student,score,rank()over(partition by class order by score desc)/count(*)over(partition by class) ratiofrom a)where ratio<=0.15
在校学生的入学年份
以8月为界,例如2005年8月1日,之前的在校学生入学年份为2001~2004,之后的为2002~2005[@more@]select to_char(add_months(sysdate,4),'yyyy')-rownum from all_objects where rownum<5;
产生一个32位的16进制随机数
1、SELECT SYS_GUID() FROM DUAL;2、select replace(s,'/','') s from (select s,rank()over(order by length(s) desc) rk from(select (sys_connect_by_path(a,'/')) s from (select decode(floor(dbms_random.value*16),0,'0',1,'1',2,'2',3,'3', 4,'4',5,'5',6,'6',7,'7',8,'8',9,'9', 10,'A',11,'B',12,'C',13,'D',14,'E',15,'F') a,rownum rn from all_objectswhere rownum<=32) connect by rn-1=prior rn) )where rk=1[@more@]
http://www.itpub.net/105327.html
http://www.itpub.net/105327.html[@more@]待整理
从字符串中提取数字
问题的提出有一個字符串﹐類似AAAAA123.456A(AA)A﹐如何用一句SQL將123.456提出來?A指的是不同的漢字,咋辦?[@more@]解决方法:如果是字符就好办,select TRIM(TRanslate('AAAAA123.456A(AA)A','A()',' ')) from dualA()处替换为除数字外的所有字符即可如果含有汉字,hmxxyy提供如下方法俺来挑战一下SQL, 带汉字的. 但愿能引出玉来(9iR2)SQL> 1 select result2 from3 (4 select level, replace(sys_connect_by_path(x, '/'), '/') result5 from6 (select rownum lvl, x from (select level lvl, substr('木炭abcd1234.34ef火锅gh', lev
Blog排名
[@more@]