- 浏览: 425936 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
Glogo:
楼主您好,我在试验您的代码的时候发现新开的三个子线程并没有一直 ...
java 高并发 ReentrantLock -- 可重入的锁 -
univasity:
最近发觉也被限速了,投诉一下就好一会~~ 看来明天又要和电信M ...
ADSL上网速度慢 都是帐号限速惹的祸 -
liuyuanhui0301:
java 高并发 ReentrantLock -- 可重入的锁 -
dang_java:
呵.很好的说明文档.
JXTA技术与应用发展 -
helloqidi:
谢谢,学习了
SQL中exists和in的区别
1.首先我们要用到LEVEL .... CONNECT BY level是一个伪列,类似于rownum,而后面加connect by则可以构造出一个循环来; 例如: SQL>select level from dual connect by level<=5; 结果 ----------------------------------------------- LEVEL 1 2 3 4 5 一个伪列并循环显示就这样产生了. 2.接着我要构造出一个日期的伪列出来,需要用到日期函数,比如现在是12月,我需要构造出来2007年12月1日----2007年12月31日的伪列. SQL>select last_day(sysdate) from dual; 结果 ----------------------------------------------- 1 2007-12-31 1:22:24 SQL>select to_char(last_day(sysdate),'DD') from dual; 结果 ----------------------------------------------- 1 31 SQL>select level from dual connect by level<=to_char(last_day(sysdate),'DD'); 结果 ----------------------------------------------- 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 SQL>select TRUNC(SYSDATE,'MM') from dual; 结果 ----------------------------------------------- 1 2007-12-1 接着我们要做的事情就是把上面的函数结合起来实现2007年12月1日----2007年12月31日的伪列 SQL>select TRUNC(SYSDATE,'MM')-1+level from dual connect by level<=to_char(last_day(sysdate),'DD'); 结果 ----------------------------------------------- 1 2007-12-1 2 2007-12-2 3 2007-12-3 4 2007-12-4 5 2007-12-5 6 2007-12-6 7 2007-12-7 8 2007-12-8 9 2007-12-9 10 2007-12-10 11 2007-12-11 12 2007-12-12 13 2007-12-13 14 2007-12-14 15 2007-12-15 16 2007-12-16 17 2007-12-17 18 2007-12-18 19 2007-12-19 20 2007-12-20 21 2007-12-21 22 2007-12-22 23 2007-12-23 24 2007-12-24 25 2007-12-25 26 2007-12-26 27 2007-12-27 28 2007-12-28 29 2007-12-29 30 2007-12-30 31 2007-12-31 3.构造出日期伪列后,我们只需要加上一个where条件既可以查询出这个月的星期日都是几号了 SQL>select to_char(sysdate,'DAY') from dual; 结果 ----------------------------------------------- 1 星期六 SQL>select TRUNC(SYSDATE,'MM')-1+level from dual SQL>where to_char(TRUNC(SYSDATE,'MM')-1+level,'DAY') = '星期日' SQL>connect by level<=to_char(last_day(sysdate),'DD'); 结果 ----------------------------------------------- 1 2007-12-2 2 2007-12-9 3 2007-12-16 4 2007-12-23 5 2007-12-30 也可以把sql语句换成 SQL>select TRUNC(SYSDATE,'MM')-1+level from dual SQL>where to_char(TRUNC(SYSDATE,'MM')-1+level,'D') = 1 SQL>connect by level<=to_char(last_day(sysdate),'DD');
结果 ----------------------------------------------- 1 2007-12-2 2 2007-12-9 3 2007-12-16 4 2007-12-23 5 2007-12-30 数字1-7分别代表星期天到星期六; OK到此分析完毕,Oracle的伪列的功能还是很不错的呀!~呵呵 |
发表评论
-
mysql查询优化之索引类型、最左前缀
2012-03-22 00:42 1089一、什么是索引? 索引用来快速地寻找那些具有特定值的记录, ... -
Checkpoint not Complete
2009-04-30 15:36 1503alter_ORCL.log如下: Wed Jun 25 0 ... -
How to resize redo log file?
2009-04-30 15:33 1068I wrote a script named 'checkRe ... -
Oracle: REDO&UNDO
2009-04-25 13:41 1040在这里会介绍UNDO,REDO ... -
DBCP,数据库断开自动连接的问题及解决方法
2009-04-20 13:34 2720以前公司开发的一个项 ... -
Oracle : How to drop database
2009-04-06 01:05 1037字号: 大大 中中 小小 D:\>set or ... -
执行计划和执行顺序
2009-04-02 17:53 941如果要了解执行计划和执行顺序,必须理解执行计划的 ... -
Oracle timestamp
2009-02-01 10:47 3083select systimestamp from dual s ... -
Oracle日期函数与应用
2009-01-19 16:26 1166相信很多人都有过统计某些数据的经历,比如,要统计财务的情况 ... -
start with ... connect by用法简介
2008-12-22 17:17 1283sql有向图问题期待新解决方案 /************* ... -
START WITH and CONNECT BY in Oracle SQL
2008-12-22 16:55 1301A simple example In the follow ... -
Oracle层次查询和分析应用在号段选取
2008-12-22 15:33 11231. 问题的提出 在实际工作中,我们常常会碰到号段选取的 ... -
有关Oracle表分区进行(DML)维护后对索引的影响的分析
2008-12-15 14:30 2215今天对数字电视系统的 ... -
Oracle表分区和索引分区精彩汇总
2008-12-15 14:29 1985分区概述 为了简化数据库大表的管理,例如在数据仓库中 ... -
为什么有时Oracle数据库不用索引来查找数据?
2008-12-15 14:24 1256当你运用SQL语言,向数 ... -
怎样成长为一个真正的Oracle DBA
2008-12-15 12:59 933本文网址:http://bbs.bitscn.com/1674 ... -
MYSQL编码问题
2008-12-04 21:56 672一.原理篇Mysql的字符 ... -
ORACEL SQL 性能优化
2008-10-16 15:18 12451. 选用适合的ORACLE优化器 ORACLE的优化器共有 ... -
mysql 的mysql数据库
2008-09-20 17:06 1032授权表的用途: ... -
Hibernate注释简介
2008-09-19 13:54 1122在过去几年里,Hibernate不断发展,几乎成为Java数据 ...
相关推荐
**rowid** 也是Oracle数据库中的一个重要伪列,它表示表中每行记录的物理地址。与rownum不同的是,rowid对于表中的每一行都是唯一的,并且指向该行数据的实际存储位置。 ##### rowid的特点: 1. **唯一性**:rowid...
- **定义**:ROWID是Oracle中用于唯一标识表中每一行记录的一个伪列。 - **特性**: - 每个表的每一行都有一个唯一的ROWID值。 - ROWID包含行的实际物理地址。 - 使用ROWID可以快速定位到具体的一行记录,从而...
1. CURRVAL 和 NEXTVAL:这两个伪列与序列号相关,CURRVAL返回序列的当前值,而NEXTVAL则递增序列并返回新值。 2. LEVEL:在递归查询或层次查询中,LEVEL伪列用来表示数据在树形结构中的深度或层级。 3. ROWID:这...
Oracle数据库系统中,伪列和伪表是两个特殊的概念,它们为数据库操作提供了额外的功能和便利。本文将详细探讨这两个概念及其应用场景。 首先,我们来理解什么是伪列。伪列并非用户在创建表时定义的列,而是Oracle...
1. `CURRVAL` 和 `NEXTVAL`:这两个伪列与Oracle序列有关。`CURRVAL`返回序列的当前值,而`NEXTVAL`则递增序列并返回新的值。它们通常用于生成唯一的标识符,如主键。 2. `LEVEL`:在查询层次结构数据时,`LEVEL`伪...
在这个资源中,我们将讨论如何使用 Oracle SQL 来获取星期几、一个月的第几天、一个年的第几天等信息。 一、获取星期几 Oracle SQL 提供了多种方式来获取星期几,下面是一些常见的方法: 1. 使用 TO_CHAR 函数 ...
【Oracle伪列详解】 在Oracle数据库中,伪...理解并熟练运用这两个伪列,对于优化查询性能和实现数据管理功能具有重要意义。在实际应用中,需要注意其特性,避免因为rowid的局限性而影响程序的移植性和数据的稳定性。
本篇文章将详细探讨Oracle如何实现行转列为列的过程,以及在面对不确定列数时的解决方案。 在传统的SQL查询中,数据通常是以行的形式存储和展示。然而,在某些场景下,我们可能需要将同一类别的数据从多行转换为一...
NULL 博文链接:https://mxm910821.iteye.com/blog/1470832
ORA_ROWSCN伪列在Oracle历史数据迁移中的应用研究 Oracle数据库系统中,数据迁移是不可避免的,特别是在大型企业中,数据库系统的数据量会随着时间的推移不断增长。为了解决这个问题,Oracle提供了多种数据迁移...
然后,动态构建SQL语句,对于每个不同的日期,使用`DECODE`函数将行数据转换为指定列的数据。最后,执行`EXECUTE IMMEDIATE V_SQL`来创建一个视图`RESULT`,该视图包含了转换后的数据集。 #### 3. DECODE函数的作用...
例如,如果有一个员工表(emp),其中包含部门号(deptno)、职位(job)和薪水(sal),行转列操作可以通过聚合函数(如SUM)对每个部门和职位的薪水进行求和,并将每个部门的求和结果转换为独立的列。 PIVOT操作...
Oracle 数据库开发培训中根据某一列的值修改另一列的值 Oracle 数据库是一种关系型数据库管理系统,广泛应用于企业级应用程序中。在 Oracle 数据库中,我们可以使用 update 语句来修改某一列的值根据另一列的值。...
- **`TRUNC(SYSDATE, 'MM') + ROWNUM - 1`**:这里使用了`TRUNC`函数获取当前月份的第一天,然后通过`ROWNUM`动态生成从1到当前月份天数的序列,并计算出每一天的具体日期。 - **`FROM DUAL`**:这是一个特殊的表,...
例如,假设有一个销售数据表,包含产品ID、年份和销售额三个字段,我们可以通过PIVOT操作将不同年份的销售额转换为对应的列,使得每个产品对应一行,各年的销售额作为列显示。 ```sql SELECT * FROM 销售数据 PIVOT...
根据提供的标题、描述、标签及部分内容,我们可以了解到本篇文章主要关注的是如何在Oracle数据库中查询一个月内的数据。这里的关键在于日期范围的确定以及如何利用Oracle的内置函数来完成这一任务。接下来,我们将...
例如,一个销售数据表可能包含产品ID、销售日期和销售额三列,如果想要按产品查看每个月的销售额,行转列就能将不同月份的销售额显示在同一行的不同列中。 Oracle的PIVOT功能是实现这一转换的关键。基本语法如下: ...
在Oracle数据库环境中,有时我们需要获取一个表的所有列名,并且以特定格式(如逗号分隔)输出这些列名。这种需求通常出现在多种场景中,比如动态SQL构建、数据迁移或者系统日志记录等。本篇文章将详细介绍如何在...
2-ORACLE伪列&场景判断.sql