黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

Oracle使用range分區(qū)并根據(jù)時(shí)間列自動(dòng)創(chuàng)建分區(qū)

oracle使用range分區(qū)并根據(jù)時(shí)間列自動(dòng)創(chuàng)建分區(qū)

oracle使用range分區(qū),根據(jù)時(shí)間列自動(dòng)創(chuàng)建分區(qū)

-- create table
create table my_test 
(
  id    number (12) not null,
  name    varchar2 (12) not null,
  today    timestamp (6) default sysdate
)
partition by range (today) interval(numtodsinterval(1,'day')) --月分區(qū)用month,年分區(qū)用year
(
  partition p_20230411 values less than (to_date('2023-04-12 00:00:00,"syyyy-mm-dd hh24:mi:ss"))
      tablespace tb_sams
      pctfree 10
      initrans 1
      maxtrans 255
      storage
      (
          initial 1m
          next 1m
          minextents 1
          maxextents unlimited
      )
);
- - add comments to the table
comment on table my_test
  is ‘測(cè)試表';
add comments to the columns
comment on column my_test.id
  is ‘主鍵id';
comment on column my_test.name
  is ‘名稱';
comment on column my_test.today
  is ‘時(shí)間';

- - create/recreate indexes
create index my_test_index on my_test (id)
  tablespace tb_sams
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
      initial 64k
      next 1m
      minextents 1
      maxextents unlimited
);
- -grant/revoke object privileges
grant select on my_test to dbview;

insert into my_test values (1,'xxc1',sysdate);
insert into my_test values (2,'xxc2'?sysdate+1);
insert into my_test vaiues (3,'xxc3',sysdate+2) ;

測(cè)試效果

附錄:oracle 根據(jù)日期自動(dòng)生成分區(qū)表

oracle 根據(jù)日期自動(dòng)生成分區(qū)表

create table my_table (
id number,
name varchar2(50),
created_date date
)
partition by range (created_date) interval (numtodsinterval(1, 'day'))
(
partition p1 values less than (to_date('2022-01-01', 'yyyy-mm-dd'))
);

其中:

numtodsinterval(,) ,x是一個(gè)數(shù)字,c是一個(gè)字符串,
表明x的單位,這個(gè)函數(shù)把x轉(zhuǎn)為interval day to second數(shù)據(jù)類型

常用的單位有 (‘day’,‘hour’,‘minute’,‘second’)

numtoyminterval 與numtodsinterval函數(shù)類似,將x轉(zhuǎn)為interval year to month數(shù)據(jù)類型

常用的單位有(‘year’,‘month’)

格式:numtoyminterval(n, interval_unit);

n: 數(shù)值類型

interval_unit: ‘year’, ‘month’ ,或其他可以轉(zhuǎn)換成這兩個(gè)值之一的表達(dá)式

numtoyminterval(1, ‘year’) :一年后的間隔

numtoyminterval(-1, ‘month’): 一個(gè)月前

小數(shù)會(huì)被計(jì)算成整數(shù)后,再做計(jì)算:

select sysdate + numtoyminterval(0.1, 'month')  from dual;
2023-03-21 09:54:37

如果執(zhí)行含有函數(shù)的sql時(shí)報(bào)錯(cuò):”interval year to month literal“。不能與數(shù)值做運(yùn)算。

常用用途:

做日期運(yùn)算時(shí),這個(gè)函數(shù)非常有用。例如:取一個(gè)月后的日期:

select sysdate + numtoyminterval(1, 'month') from dual;

關(guān)于oracle使用range分區(qū)并根據(jù)時(shí)間列自動(dòng)創(chuàng)建分區(qū)的文章就介紹至此,更多相關(guān)oracle自動(dòng)創(chuàng)建分區(qū)內(nèi)容請(qǐng)搜索碩編程以前的文章,希望以后支持碩編程!

下一節(jié):oracle?range時(shí)間范圍自動(dòng)分區(qū)的創(chuàng)建方式

oracle數(shù)據(jù)庫

相關(guān)文章
學(xué)習(xí)SQL