![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
iteye_8576
这个作者很懒,什么都没留下…
展开
-
sql语句中的执行顺序
1.from2.where(结合条件)3.start with4.connect by5.where6.group by7.having8.分析函数,分析函数是在SELECT和ORDER BY之前做的,分析函数因此可以放在SELECT和ORDER BY中,其他操作中不可有分析函数8.model9.select10.union,minus,intersect...原创 2011-06-27 13:09:45 · 116 阅读 · 0 评论 -
一个SQL的优化
最近看到一个问题(原帖地址:http://topic.csdn.net/u/20120604/09/b56a0996-3c5a-4c35-9423-8b68d1284db6.html)[code="sql"]-- 表TB1 START_ID END_ID---------- ---------- 1 3 4 ...2012-06-05 08:55:46 · 70 阅读 · 0 评论 -
oracle中断号的取得
1.根据号码求出号段[code="sql"]-- WITH t AS ( SELECT '1' tid,'0001' num FROM DUAL UNION ALL SELECT '1' tid,'0002' num FROM DUAL UNION ALL SELECT '1' tid,'0003' num FROM DUAL UNION ALL ...原创 2011-05-07 06:57:06 · 197 阅读 · 0 评论 -
使用oracle 的table function 需要注意的地方
[code="sql"]DECLARE -- 定义联合数组的类型(session-level) TYPE ASSOCIATIVE_ARRAYS_TYPE IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER; -- 定义联合数组 associative_arrays ASSOCIATIVE_ARRAYS_TYPE;...原创 2011-04-28 10:57:12 · 172 阅读 · 0 评论 -
Oracle的行列转换
[b]行转列:[/b]1.列固定的情况,通过max+decode变换。[code="sql"]WITH t AS ( SELECT 1 tid,'A' typeid, 'book1' typename FROM DUAL UNION ALL SELECT 1 tid,'B' typeid, 'apple1' typename FROM DUAL UNION ALL...原创 2011-11-08 09:17:56 · 75 阅读 · 0 评论 -
db_file_multiblock_read_count 对cost的影响
[code="sql"]db_file_multiblock_read_count = 32実行計画---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=35 Card=1 Bytes=13) 1 0 ...原创 2012-01-29 13:26:06 · 69 阅读 · 0 评论 -
使用hash join 优化 sql
低效:[code="sql"]SELECT a.*, b.object_name FROM TEST_OBJECT a, TEST_OBJ1 b WHERE SUBSTR(a.object_name, 1, LENGTH(b.object_name)) = b.object_name;[/code]実行計画-----------------...原创 2011-04-12 16:14:25 · 216 阅读 · 0 评论 -
Oracle中,取得表中所有字段都为null的个数
当表的字段个数很多的时候,取得所有字段都是null的个数字段很少的时候,可以这么写:[code="sql"]select count(*) from tb where a is null and b is null ...[/code]字段很多的时候就不是很方便了,下面用动态sql实现。[code="sql"]DECLARE TYPE myref IS REF...原创 2011-10-12 13:42:36 · 2132 阅读 · 0 评论 -
统计相关
[code="sql"]-- 需求:求出下表指定日期的每个TYPE_ID的新增客户和累计新增客户,-- 20110703的新增客户=去重(20110703的手机号 MINUS (20110701+20110702的手机号))-- 20110703累计新增客户 = 去重((20110703+20110702)的手机号 MINUS 20110701的手机号))SQL> select *...原创 2011-07-06 12:54:20 · 137 阅读 · 0 评论 -
Oracle中Keep的使用
官方文档有如下说明:[color=indigo][size=large]FIRST/LAST Functions[/size]The FIRST/LAST aggregate functions allow you to return the result of an aggregate applied over a set of rows that rank as the fir...原创 2011-06-28 13:06:22 · 142 阅读 · 0 评论 -
Oracle中range的使用
[code="sql"]-- 需求:求出下表的一个小时内id个数的最大值和最小值。SQL> WITH t AS ( 2 SELECT 1 "id",TO_DATE('2011-04-27 14:05:12','yyyy-mm-dd hh24:mi:ss') c_time FROM DUAL UNION ALL 3 SELECT 2,TO_DATE('2011-04-27 1...原创 2011-06-28 10:23:07 · 2113 阅读 · 0 评论 -
一条sql求N阶乘
[code="sql"]-- 根据公式:log(a)(MN)=log(a)(M)+log(a)(N)SQL> SELECT POWER(10, SUM(LOG(10, LEVEL))) 2 FROM DUAL 3 CONNECT BY LEVEL原创 2011-06-27 13:47:02 · 2817 阅读 · 1 评论 -
Oracle中,varchar2 最大长度
1.当表的字段类型是varchar2时,无论是varchar2(4000 char)还是varchar2(4000 byte),最大长都是4000字节。2.当在plsql中的变量是varchar2时,最大长是32767字节。3.当func的参数类型是varchar2时,最大长是32767字节。4.当func的返回值类型是varchar2时,最大长是4000字节。...原创 2015-09-30 09:52:23 · 1140 阅读 · 0 评论