- 浏览: 416098 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
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 1045一、什么是索引? 索引用来快速地寻找那些具有特定值的记录, ... -
Checkpoint not Complete
2009-04-30 15:36 1469alter_ORCL.log如下: Wed Jun 25 0 ... -
How to resize redo log file?
2009-04-30 15:33 1048I wrote a script named 'checkRe ... -
Oracle: REDO&UNDO
2009-04-25 13:41 1014在这里会介绍UNDO,REDO ... -
DBCP,数据库断开自动连接的问题及解决方法
2009-04-20 13:34 2694以前公司开发的一个项 ... -
Oracle : How to drop database
2009-04-06 01:05 1004字号: 大大 中中 小小 D:\>set or ... -
执行计划和执行顺序
2009-04-02 17:53 915如果要了解执行计划和执行顺序,必须理解执行计划的 ... -
Oracle timestamp
2009-02-01 10:47 3048select systimestamp from dual s ... -
Oracle日期函数与应用
2009-01-19 16:26 1117相信很多人都有过统计某些数据的经历,比如,要统计财务的情况 ... -
start with ... connect by用法简介
2008-12-22 17:17 1214sql有向图问题期待新解决方案 /************* ... -
START WITH and CONNECT BY in Oracle SQL
2008-12-22 16:55 1284A simple example In the follow ... -
Oracle层次查询和分析应用在号段选取
2008-12-22 15:33 10761. 问题的提出 在实际工作中,我们常常会碰到号段选取的 ... -
有关Oracle表分区进行(DML)维护后对索引的影响的分析
2008-12-15 14:30 2189今天对数字电视系统的 ... -
Oracle表分区和索引分区精彩汇总
2008-12-15 14:29 1943分区概述 为了简化数据库大表的管理,例如在数据仓库中 ... -
为什么有时Oracle数据库不用索引来查找数据?
2008-12-15 14:24 1220当你运用SQL语言,向数 ... -
怎样成长为一个真正的Oracle DBA
2008-12-15 12:59 915本文网址:http://bbs.bitscn.com/1674 ... -
MYSQL编码问题
2008-12-04 21:56 619一.原理篇Mysql的字符 ... -
ORACEL SQL 性能优化
2008-10-16 15:18 11881. 选用适合的ORACLE优化器 ORACLE的优化器共有 ... -
mysql 的mysql数据库
2008-09-20 17:06 999授权表的用途: ... -
Hibernate注释简介
2008-09-19 13:54 1057在过去几年里,Hibernate不断发展,几乎成为Java数据 ...
相关推荐
oracle数据库伪列的介绍,让你明白rownum和rowid的一些区别。
强大但又简单的oracle分页与伪列代码
NULL 博文链接:https://mxm910821.iteye.com/blog/1470832
ORACLE sql 星期几 一个月的第几天等 方法
oracle伪列以及伪表.docx
oracle伪列以及伪表.doc
oracle伪列以与伪表.doc
oracle行转列
oracle查询一个月之内数据,例如查询某个月用户使用短信多少跳
2-ORACLE伪列&场景判断.sql
ORACLE根据某一列的值修改另一列的值
Oracle中使用语句将行数据转换称不同的列表示,或者将不同的列数据写到同一列的不同行上的行列转换问题是一个非常传统的话题。 网络上流传了很多将行数据转换称列数据的方法和应用实例,一般通过decode或者case函数...
2、rowid数据类型在Oracle数据库中,用rowid数据类型存放rowid的值,长度是10个字节,为了方便查看和书写,Oracle可以把10字节的rowi
Oracle行转列
oracle 查询列最大值,例如有n例值,但是要找出这些列中的最大值。
oracle的列转行问题 oracle的列转行问题
oracle查询表的所有列并用逗号隔开
NULL 博文链接:https://vernonchen163.iteye.com/blog/1902976
oracle的按月统计sql..............................
ORA_ROWSCN伪列在Oracle历史数据迁移中的应用研究.pdf