Skip to content

Commit 2a974cd

Browse files
authored
Merge pull request #9078 from sundy-li/todate
fix(query): to_date respect tz
2 parents acaa5b8 + e7072ad commit 2a974cd

File tree

4 files changed

+8
-6
lines changed

4 files changed

+8
-6
lines changed

src/common/io/src/buffer/buffer_read_datetime_ext.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ where R: BufferRead
4747
{
4848
fn read_date_text(&mut self, tz: &Tz) -> Result<NaiveDate> {
4949
// TODO support YYYYMMDD format
50-
self.read_timestamp_text(tz).map(|dt| dt.naive_utc().date())
50+
self.read_timestamp_text(tz)
51+
.map(|dt| dt.naive_local().date())
5152
}
5253

5354
fn read_timestamp_text(&mut self, tz: &Tz) -> Result<DateTime<Tz>> {

src/common/io/src/cursor_ext/cursor_read_datetime_ext.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ where T: AsRef<[u8]>
7575
{
7676
fn read_date_text(&mut self, tz: &Tz) -> Result<NaiveDate> {
7777
// TODO support YYYYMMDD format
78-
self.read_timestamp_text(tz).map(|dt| dt.naive_utc().date())
78+
self.read_timestamp_text(tz)
79+
.map(|dt| dt.naive_local().date())
7980
}
8081

8182
fn read_timestamp_text(&mut self, tz: &Tz) -> Result<DateTime<Tz>> {

src/query/expression/src/utils/date_helper.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ impl DateRounder {
343343
/// It's the days since 1970-01-01.
344344
#[inline]
345345
fn datetime_to_date_inner_number(date: &DateTime<Tz>) -> i32 {
346-
date.naive_utc()
346+
date.naive_local()
347347
.signed_duration_since(NaiveDate::from_ymd(1970, 1, 1).and_hms(0, 0, 0))
348348
.num_days() as i32
349349
}

tests/logictest/suites/query/02_function/02_0002_function_cast

+3-3
Original file line numberDiff line numberDiff line change
@@ -215,11 +215,11 @@ SELECT to_date(to_timestamp(1640019661000000)) = to_date('2021-12-20');
215215
----
216216
1
217217

218-
statement query B
219-
SELECT to_date('2022-02-03T00:00:00+09:00') = to_date('2022-02-02');
218+
statement query BB
219+
SELECT to_date('2022-02-03T00:00:00+09:00') = to_date('2022-02-02'), to_date('2022-11-10 00:54:12') = to_date('2022-11-10');
220220

221221
----
222-
1
222+
11
223223

224224

225225
statement query B

0 commit comments

Comments
 (0)