From 56b5373e5f4bc71f692ccbc91c796735a902da54 Mon Sep 17 00:00:00 2001 From: zhongjingxiong Date: Tue, 5 Dec 2023 21:20:40 +0800 Subject: [PATCH 1/6] fix conflict --- datafusion/expr/src/built_in_function.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datafusion/expr/src/built_in_function.rs b/datafusion/expr/src/built_in_function.rs index d48e9e7a67fe..1e902547aa6f 100644 --- a/datafusion/expr/src/built_in_function.rs +++ b/datafusion/expr/src/built_in_function.rs @@ -1524,7 +1524,7 @@ impl BuiltinScalarFunction { // time/date functions BuiltinScalarFunction::Now => &["now"], - BuiltinScalarFunction::CurrentDate => &["current_date"], + BuiltinScalarFunction::CurrentDate => &["current_date", "today"], BuiltinScalarFunction::CurrentTime => &["current_time"], BuiltinScalarFunction::DateBin => &["date_bin"], BuiltinScalarFunction::DateTrunc => &["date_trunc", "datetrunc"], From 76b11e5d98b254cfb79db387081ffd4962e39e19 Mon Sep 17 00:00:00 2001 From: zhongjingxiong Date: Wed, 6 Dec 2023 10:40:37 +0800 Subject: [PATCH 2/6] add md --- docs/source/user-guide/sql/scalar_functions.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/source/user-guide/sql/scalar_functions.md b/docs/source/user-guide/sql/scalar_functions.md index 46920f1c4d0b..c47a71971a50 100644 --- a/docs/source/user-guide/sql/scalar_functions.md +++ b/docs/source/user-guide/sql/scalar_functions.md @@ -1308,6 +1308,10 @@ no matter when in the query plan the function executes. current_date() ``` +#### Aliases + +- today + ### `current_time` Returns the current UTC time. From c57bed858257e567d399416895c0f7c0ec3e891f Mon Sep 17 00:00:00 2001 From: zhongjingxiong Date: Wed, 6 Dec 2023 14:13:16 +0800 Subject: [PATCH 3/6] add test --- datafusion/sqllogictest/test_files/timestamps.slt | 14 ++++++++++++++ docs/source/user-guide/sql/scalar_functions.md | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/datafusion/sqllogictest/test_files/timestamps.slt b/datafusion/sqllogictest/test_files/timestamps.slt index 71b6ddf33f39..b3dfc863243a 100644 --- a/datafusion/sqllogictest/test_files/timestamps.slt +++ b/datafusion/sqllogictest/test_files/timestamps.slt @@ -46,6 +46,20 @@ statement ok create table ts_data_secs as select arrow_cast(ts / 1000000000, 'Timestamp(Second, None)') as ts, value from ts_data; +########## +## Current date Tests +########## + +query B +select cast(now() as date) = current_date(); +---- +true + +query B +select now() = current_date(); +---- +false + ########## ## Timestamp Handling Tests diff --git a/docs/source/user-guide/sql/scalar_functions.md b/docs/source/user-guide/sql/scalar_functions.md index c47a71971a50..bc5013b1fc01 100644 --- a/docs/source/user-guide/sql/scalar_functions.md +++ b/docs/source/user-guide/sql/scalar_functions.md @@ -1312,6 +1312,10 @@ current_date() - today +### `today` + +_Alias of [current_date](#current_date)._ + ### `current_time` Returns the current UTC time. From 9be75f71eb59a359674669f5c2688f49f44b4050 Mon Sep 17 00:00:00 2001 From: zhongjingxiong Date: Wed, 6 Dec 2023 18:25:55 +0800 Subject: [PATCH 4/6] add test --- datafusion/sqllogictest/test_files/timestamps.slt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/datafusion/sqllogictest/test_files/timestamps.slt b/datafusion/sqllogictest/test_files/timestamps.slt index b3dfc863243a..00cc9210b171 100644 --- a/datafusion/sqllogictest/test_files/timestamps.slt +++ b/datafusion/sqllogictest/test_files/timestamps.slt @@ -60,6 +60,11 @@ select now() = current_date(); ---- false +query B +select cast(now() as date) = today(); +---- +true + ########## ## Timestamp Handling Tests From 3ff32931ba7347ff4b87689ed347d39e02ccec98 Mon Sep 17 00:00:00 2001 From: zhongjingxiong Date: Mon, 11 Dec 2023 15:39:38 +0800 Subject: [PATCH 5/6] addr comments --- datafusion/sqllogictest/test_files/timestamps.slt | 5 +++++ docs/source/user-guide/sql/scalar_functions.md | 1 + 2 files changed, 6 insertions(+) diff --git a/datafusion/sqllogictest/test_files/timestamps.slt b/datafusion/sqllogictest/test_files/timestamps.slt index 00cc9210b171..8d3d5d62c118 100644 --- a/datafusion/sqllogictest/test_files/timestamps.slt +++ b/datafusion/sqllogictest/test_files/timestamps.slt @@ -60,6 +60,11 @@ select now() = current_date(); ---- false +query B +select current_date() = today(); +---- +false + query B select cast(now() as date) = today(); ---- diff --git a/docs/source/user-guide/sql/scalar_functions.md b/docs/source/user-guide/sql/scalar_functions.md index bc5013b1fc01..7c9e494d6576 100644 --- a/docs/source/user-guide/sql/scalar_functions.md +++ b/docs/source/user-guide/sql/scalar_functions.md @@ -1280,6 +1280,7 @@ regexp_replace(str, regexp, replacement, flags) - [datepart](#datepart) - [extract](#extract) - [to_timestamp](#to_timestamp) +- [today](#today) - [to_timestamp_millis](#to_timestamp_millis) - [to_timestamp_micros](#to_timestamp_micros) - [to_timestamp_seconds](#to_timestamp_seconds) From a27a70ea08f9edec81d06a3ce8153494b7c6e09b Mon Sep 17 00:00:00 2001 From: jokercurry <982458633@qq.com> Date: Tue, 12 Dec 2023 19:47:51 +0800 Subject: [PATCH 6/6] Update datafusion/sqllogictest/test_files/timestamps.slt Co-authored-by: Alex Huang --- datafusion/sqllogictest/test_files/timestamps.slt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/datafusion/sqllogictest/test_files/timestamps.slt b/datafusion/sqllogictest/test_files/timestamps.slt index 8d3d5d62c118..f956d59b1da0 100644 --- a/datafusion/sqllogictest/test_files/timestamps.slt +++ b/datafusion/sqllogictest/test_files/timestamps.slt @@ -63,7 +63,7 @@ false query B select current_date() = today(); ---- -false +true query B select cast(now() as date) = today();