oracle走当前时间分区,Oracle分区使用波斯日历的时间间隔

与数据库级NLS_CALENDAR相比,没有其他方法可以在不同的日历中定义间隔。通过使用虚拟列划分每个日期落入的(波斯)月份的数字表示,可以得到相同的效果:

create table test_temp_times (

id number(18) not null,

xdate date not null,

str varchar2(20),

ydate as (to_number(to_char(xdate, 'YYYYMM', 'nls_calendar=persian')))

)

partition by range(ydate)

interval(1)

(partition p0 values less than (139201))

enable row movement;

如果其中填充了示例开始日期后一年的每一天的记录:

insert into test_temp_times (id, xdate, str)

select level, date '2013-03-20' + level, null

from dual

connect by level < 366;

创建的分区如下所示:

select table_name, partition_name, high_value

from user_tab_partitions where table_name = 'TEST_TEMP_TIMES';

TABLE_NAME PARTITION_NAME HIGH_VALUE

------------------------------ ------------------------------ ----------

TEST_TEMP_TIMES P0 139201

TEST_TEMP_TIMES SYS_P479 139202

TEST_TEMP_TIMES SYS_P480 139203

TEST_TEMP_TIMES SYS_P481 139204

TEST_TEMP_TIMES SYS_P482 139205

TEST_TEMP_TIMES SYS_P483 139206

TEST_TEMP_TIMES SYS_P484 139207

TEST_TEMP_TIMES SYS_P485 139208

TEST_TEMP_TIMES SYS_P486 139209

TEST_TEMP_TIMES SYS_P487 139210

TEST_TEMP_TIMES SYS_P488 139211

TEST_TEMP_TIMES SYS_P489 139212

TEST_TEMP_TIMES SYS_P490 139213

13 rows selected

您还可以检查月份界限所属的分区:

select utp.partition_name, min(ttt.xdate), max(ttt.xdate)

from test_temp_times ttt

join user_objects uo on uo.object_id = dbms_rowid.rowid_object(ttt.rowid)

join user_tab_partitions utp on utp.table_name = uo.object_name

and utp.partition_name = uo.subobject_name

group by utp.partition_name

order by partition_name;

PARTITION_NAME MIN(TTT.XDATE) MAX(TTT.XDATE)

------------------------------ -------------- --------------

P0 2013-03-20 2013-03-20

SYS_P479 2013-03-21 2013-04-20

SYS_P480 2013-04-21 2013-05-21

SYS_P481 2013-05-22 2013-06-21

SYS_P482 2013-06-22 2013-07-22

SYS_P483 2013-07-23 2013-08-22

SYS_P484 2013-08-23 2013-09-22

SYS_P485 2013-09-23 2013-10-22

SYS_P486 2013-10-23 2013-11-21

SYS_P487 2013-11-22 2013-12-21

SYS_P488 2013-12-22 2014-01-20

SYS_P489 2014-01-21 2014-02-19

SYS_P490 2014-02-20 2014-03-19

至少,我认为这就是您要实现的目标。不幸的是,由于SQL Fiddle没有分区选项,因此无法添加演示,但这已针对11.2.0.3。进行了测试。

当然,您必须使其使用分区进行查询...如果我只是这样做的话:

select * from test_temp_times

where xdate = date '2013-11-01';

它找到包含计划的行:

-----------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |

-------------------------------------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 47 | 164 (0)| 00:00:02 | | |

| 1 | PARTITION RANGE ALL| | 1 | 47 | 164 (0)| 00:00:02 | 1 |1048575|

|* 2 | TABLE ACCESS FULL | TEST_TEMP_TIMES | 1 | 47 | 164 (0)| 00:00:02 | 1 |1048575|

-------------------------------------------------------------------------------------------------------

如果我将虚拟列明确添加到查询中:

select * from test_temp_times

where xdate = date '2013-11-01'

and ydate = to_number(to_char(date '2013-11-01', 'YYYYMM', 'nls_calendar=persian'));

然后,它知道要查询哪个分区:

----------------------------------------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop |

----------------------------------------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 47 | 14 (0)| 00:00:01 | | |

| 1 | PARTITION RANGE SINGLE| | 1 | 47 | 14 (0)| 00:00:01 | 9 | 9 |

|* 2 | TABLE ACCESS FULL | TEST_TEMP_TIMES | 1 | 47 | 14 (0)| 00:00:01 | 9 | 9 |

----------------------------------------------------------------------------------------------------------

Clearly I haven't created any indexes yet. If you are looking for a whole month's worth of data, you would only need to query on a single ydate value, and ignore xdate; but presumably you'd need a mix at least some of the time.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring集成–第2节–更多世界

这是Spring Integration Session 1的后续活动 第一部分是使用Spring Integration的简单Hello World应用程序。 我想通过考虑其他一些方案来进一步介绍它。 因此&#xff0c;对Hello World应用程序的第一个更改是添加网关组件。 要快速重新访问较早的测试程序&#xff0c;请执行…

Python中Dict的查找

Dict的类型的查找使用的是lookdict函数 static PyDictKeyEntry * lookdict(PyDictObject *mp, PyObject *key,Py_hash_t hash, PyObject ***value_addr) 函数的参数中&#xff0c;*value_addr是指向匹配slot中值的指针。 这个函数在正确的情况下一定会返回一个指向slot的指针&a…

文字特效代码大全

代码收集来源于网络博友,感谢博友提供,本人只收集,整理,说明. 1.删除线:<FONT style"TEXT-DECORATION: line-through">写上你想写的字</FONT> 效果如下 写上你想写的字 2.文字顶部加横线:<font style"text-decoration:overline">写上你想…

oracle 会话实例,返璞归真:Oracle实例级别和会话级别的参数设置辨析

杨廷琨(yangtingkun)云和恩墨 CTO高级咨询顾问&#xff0c;Oracle ACE 总监&#xff0c;ITPUB Oracle 数据库管理版版主参数文件是Oracle数据库文件中级别最低&#xff0c;也是最基本的文件&#xff0c;但是也是数据库实例启动第一个涉及的文件。如果参数文件缺失或者某些参数设…

ExtJs CheckboxSelectionModel 全选操作后 清空表格头的checkBox

关键代码&#xff1a; var hd Ext.getCmp("interviewSubscriptionGrid").getEl().select(div.x-grid3-hd-checker).first(); if (hd.hasClass(x-grid3-hd-checker-on)) { hd.removeClass(x-grid3-hd-checker-on); } 转自&#xff1a;ExtJs Checkbox…

在多节点集群中运行Cassandra

这篇文章收集了我在多节点中设置Apache Cassandra集群的步骤。 在设置集群时&#xff0c;我已经参考了Cassandra Wiki和Datastax文档。 详细介绍了以下过程&#xff0c;分享了我建立群集的经验。 设置第一个节点 添加其他节点 监视集群– nodetool &#xff0c; jConsole &am…

Oracle 添加 scott 示例用户

学习SQL有一段时间了&#xff0c;但是也忘记的差不多了&#xff0c;今天有赶紧复习复习&#xff0c;然后发现一个问题&#xff0c;为啥之前看的视频教程&#xff0c;马士兵用的Oracle有scott用户和那些表格&#xff0c;而我的没有&#xff1f;难道是Oracle取消了&#xff1f;然…

win8oracle10g安装报错,Win8电脑安装Oracle 10g提示程序异常终止的解决方法

有win8系统用户反映说在安装Oracle 10g的时候&#xff0c;选择高级安装之后&#xff0c;就弹出一个窗口&#xff0c;提示程序异常终止&#xff0c;发生内部错误&#xff0c;导致Oracle 10g安装失败&#xff0c;该怎么解决这样的问题呢&#xff1f;下面随小编一起来看看Win8电脑…

MFC的消息循环

MFC的消息循环 消息分为队列消息(进入线程的消息队列)和非队列消息(不进入线程的消息队列)。对于队列消息&#xff0c;最常见的是鼠标和键盘触发的消息&#xff0c;例如WM_MOUSERMOVE,WM_CHAR等消息&#xff1b;还有例如&#xff1a;WM_PAINT、WM_TIMER和WM_QUIT。当鼠标、键…

<avatar: frontiers of pandora>技术overview

https://www.eurogamer.net/digitalfoundry-2023-avatar-frontiers-of-pandora-and-snowdrop-the-big-developer-tech-interview https://www.youtube.com/watch?vLRI_qgVSwMY&t394s 主要来自euro gamer上digital foundry对于avatar的开发团队Massive工作室的采访&#xf…

使用Hibernate 4,JPA和Maven的架构创建脚本

这种情况很简单–您想要在构建应用程序时生成数据库模式创建脚本&#xff08;然后在目标数据库上执行脚本&#xff09;&#xff0c;这对于Hibernate 3来说相对容易&#xff0c;因为有 hibernate3-maven-plugin &#xff0c;但是与Hibernate 4不兼容。当然&#xff0c;对于每个新…

iOS 启动连续闪退保护方案

版权声明&#xff1a;本文由刘笑江原创文章&#xff0c;转载请注明出处: 文章原文链接&#xff1a;https://www.qcloud.com/community/article/79 来源&#xff1a;腾云阁 https://www.qcloud.com/community 一.引言 “如果某个实体表现出以下任何一种特性&#xff0c;它就具备…

实战Java内存泄漏问题分析 -- hazelcast2.0.3使用时内存泄漏 -- 2

hazelcast 提供了3中方法调用startCleanup:第一种是在ConcuurentMapManager的构造函数中&#xff0c;通过调用node的executorManager中的ScheduledExecutorService来创建每秒运行一次cleanup操作的线程&#xff08;代码例如以下&#xff09;。因为这是ConcuurentMapManager构造…

oracle 11203 ora32701,11G RAC ORA-32701 参考学习

节点1&#xff1a;Wed Feb 13 16:08:06 2019Errors in file /u01/app/oracle/diag/rdbms/testdb/testdb1/trace/testdb1_dia0_9267.trc (incident1248083):ORA-32701: Possible hangs up to hang ID4 detectedIncident details in: /u01/app/oracle/diag/rdbms/testdb/testdb1/…

使用@OrderBy对Spring Data MongoDB集合进行排序

这是关于调整和增强Spring Data MongoDB功能的第三篇文章。 这次&#xff0c;我发现我错过了一个JPA功能– OrderBy批注。 OrderBy指定在检索关联值时集合值关联的元素的顺序。 在本文中&#xff0c;我将展示如何使用Spring Data MongoDB使用OrderBy批注实现排序 。 用例 对…

@SuppressLint(NewApi)和@TargetApi()的区别

转自&#xff1a;http://blog.csdn.NET/wbshuang09/article/details/44920549在Android代码中&#xff0c;我们有时会使用比我们在AndroidManifest中设置的android:minSdkVersion版本更高的方法&#xff0c;此时编译器会提示警告&#xff0c;解决方法是在方法上加上SuppressLin…

零基础自学编程前需要知道的知识

你是否适合编程?学习编程后能做什么?如何选择编程语言?有哪些免费的线上学习网站推荐?今天这篇好文将那些自学编程前需要了解和思考的问题都记录下来&#xff0c;希望能给那些刚刚开始或正准备自学编程的朋友们带去一些启发。 你是否适合自学编程 自学编程会是一个漫长而艰…

oracle系统库名,Oracle 札记之 一:数据库名,数据库实例名,数据库域名,操作系统环境变量...

数据库名是用于区分数据库的一个内部标识&#xff0c;是以二进制方式存储在数据库控制文件中的参数。数据库创建之后不能再修改这个参数。数据库创建后&#xff0c;它被写入数据库参数文件pfile或Spfile中。格式如下&#xff1a;...db_name"orcl"db_domaindbcenter.t…

用于基于SWT的应用程序的RichText编辑器组件

本文将完成使用SWT实现我们自己的RichText编辑器组件的任务。 在为我的一位客户开发基于桌面的应用程序时&#xff0c;我遇到了这样一个可视化组件的需求&#xff0c;并希望添加一项功能&#xff0c;以允许用户使用粗体&#xff0c;斜体&#xff0c;删除线等功能来写富文本注释…

Eclipse设置黑色主题

1点击help--->install new software 2输入 http://eclipse-color-theme.github.com/update 3下载安装eclipse color theme插件如下图 4完成后点击windows--->preferences------>Appearance下多了一个Color Theme 5,点击选择喜欢的主题即可&#xff0c;也可以自己下载主…