摘要:
if object_id('MyDB.dbo.Numbers') is not null drop table MyDB.dbo.Numbersgouse [MyDB]gocreate table dbo.Numbers(ID INT NOT NULL)gocreate unique clus... 阅读全文
摘要:
ora_hash函数用来返回分区号,而dbms_rowid.rowid_object()函数用来返回object_idselect dbms_rowid.rowid_object(rowid) obj_id, ora_hash ( id, 31, 0) part_id ,count(*) froms... 阅读全文
摘要:
今天在读《Oracle高级SQL编程》这本书的时候,在关于Oracle的全局索引的章节里面有一段讲到如果对一张分区表创建一条唯一索引,而索引本身也是分区的,那就必须把分区列也加入到索引列表中去,当然不一定要再第一列。后来自己就去SQL Server上也试了一下。果真和Oracle一样的道理。再看到后... 阅读全文
摘要:
也许有很多种方法,这里只是书上学到的一种方法with a as (select grp_factor from (select distinct grp_factor from numbers where id < 10 order by grp_factor) t where rownum <= ... 阅读全文
摘要:
今晚很好奇想知道Oracle下有没有APPLY子句?如果有那怎么实现SQL Server下的TOP + APPLY。结果自己写了个例子。with a as (select grp_factor from (select distinct grp_factor from numbers where i... 阅读全文
摘要:
除了Pivot和Unpivot这两个函数,还有像CASE WHEN + 聚合函数像MAX,SUM这类的来完成。今天发现Oracle下居然有这样一个和SQL SERVER 2012以后新增的新函数叫IIF相似功能的函数叫decodeSELECT * FROM (SELECT job, ... 阅读全文
摘要:
用hierachical query,即connect by配合dual表生成序列,mod这个是取余函数,生成group factor。最后面的connect by rownum <= 100可以替换为connect bylevel <= 100select case when mod(rownum... 阅读全文
摘要:
Oracle中的Connect By... Start With语句实现了递归查询或者树状查询。Connect By Prior 一方为起始(root)的ID参考:http://www.360doc.com/content/13/0422/16/11947209_280153192.shtmlhtt... 阅读全文
摘要:
在我们制作报表的时候常常需要分组聚合、多组聚合和总合。如果通过另外的T-SQL语句来聚合难免性能太差。如果通过报表工具的聚合功能虽说比使用额外的T-SQL语句性能上要好很多,不过不够干脆,还是需要先生成整个结果集然后再聚合,而且最最重要的时很多情况下报表的聚合功能可能没办法达到我们需要的效果。GRO... 阅读全文
摘要:
Oracle下的日期时间函数和SQL SERVER真他妈不同。这个真需要时间适应。这里找到一篇博文讲到许多例子。挺全的。http://www.cnblogs.com/kerrycode/archive/2011/04/27/2029906.html这里还有篇博文讲到Extract的用法。这个函数可以... 阅读全文