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.pswp.cn/news/372120.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372120.shtml
英文地址,請注明出處:http://en.pswp.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;也可以自己下載主…