gpt4 book ai didi

按天划分的 Oracle 分区间隔 - 错误的高值?

转载 作者:行者123 更新时间:2023-12-04 04:36:15 27 4
gpt4 key购买 nike

我创建了一个具有以下分区间隔的表:

create table 
pos_data_two (
start_date TIMESTAMP,
store_id NUMBER,
inventory_id NUMBER(6),
qty_sold NUMBER(3)
)
PARTITION BY RANGE (start_date)
INTERVAL(NUMTODSINTERVAL (1, 'DAY'))
(
PARTITION pos_data_p2 VALUES LESS THAN (TO_DATE('30.10.2013', 'DD.MM.YYYY'))
);

当我插入带有时间戳值的一行时
'31.10.2013 00:00:00'

新建分区的高值是:
TIMESTAMP' 2013-11-01 00:00:00'

那是正确的吗?不应该是 2013-10-31 00:00:00 吗??

最佳答案

(免责声明:我只是在这里猜测)

您按天进行分区,因此给定日期的值属于同一分区。

您要插入的行的 start_date 正好在午夜,因此 Oracle 必须决定是将它放在前一天还是放在第二天。

显然,Oracle 正在使用规则
lower_bound <= value < upper_bound
决定一个值应该进入哪个区间,所以你的值(value)
2013-10-31 00:00:00
进入区间
[2013-10-31 00:00:00; 2013-11-01 00:00:00 [

关于按天划分的 Oracle 分区间隔 - 错误的高值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19705631/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com