为了更快的定位您的问题,请提供以下信息,谢谢
【详述】对分区字段进行where条件筛选时,得到错误的结果
【背景】
【业务影响】查询结果和预期不一致
【是否存算分离】是
【StarRocks版本】例如:3.1.4
【集群规模】例如:3fe(1 follower+2observer)+5be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:48C/64G/万兆
【联系方式】社区1群-峻
【附件】
CREATE TABLE tmp_20240204
( id
varchar(1048576) DEFAULT NULL, yyyymmdd
varchar(1048576) DEFAULT NULL ) PARTITION BY ( yyyymmdd ) PROPERTIES (“location” = “XXX”);
【插入数据】
insert overwrite table temp.tmp_20240204
select ‘1’,‘2023-12-30’ yyyymmdd
union all
select ‘1’,‘2023-12-31’ yyyymmdd
union all
select ‘1’,‘2024-01-31’ yyyymmdd
union all
select ‘1’,‘2024-02-02’ yyyymmdd
union all
select ‘1’,‘2023-02-03’ yyyymmdd
union all
select ‘1’,‘2023-01-30’ yyyymmdd
【查询】
select
yyyymmdd
from
temp.tmp_20240204
where
(
yyyymmdd = last_day(yyyymmdd)
and yyyymmdd >= ‘2023-12-01’
and yyyymmdd <= ‘2024-02-04’
)
or (yyyymmdd = date_sub(current_date, 1))
limit
100
预期结果(正确)
2023-12-31
2024-01-31
真实结果
2023-12-31
2023-12-30
2024-01-31
2024-02-02
和预期结果不一致,查询错误,当yyyymmdd是分区字段时,才会出现这个问题