This is an automated email from the ASF dual-hosted git repository.
dheres pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new 11542740a9 Add `today` alias for `current_date` (#8423)
11542740a9 is described below
commit 11542740a982d3aba36f43d93967a58bd9ab8d9b
Author: jokercurry <[email protected]>
AuthorDate: Tue Dec 12 21:23:08 2023 +0800
Add `today` alias for `current_date` (#8423)
* fix conflict
* add md
* add test
* add test
* addr comments
* Update datafusion/sqllogictest/test_files/timestamps.slt
Co-authored-by: Alex Huang <[email protected]>
---------
Co-authored-by: zhongjingxiong <[email protected]>
Co-authored-by: Alex Huang <[email protected]>
---
datafusion/expr/src/built_in_function.rs | 2 +-
datafusion/sqllogictest/test_files/timestamps.slt | 24 +++++++++++++++++++++++
docs/source/user-guide/sql/scalar_functions.md | 9 +++++++++
3 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/datafusion/expr/src/built_in_function.rs
b/datafusion/expr/src/built_in_function.rs
index 5a903a73ad..fd899289ac 100644
--- a/datafusion/expr/src/built_in_function.rs
+++ b/datafusion/expr/src/built_in_function.rs
@@ -1532,7 +1532,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"],
diff --git a/datafusion/sqllogictest/test_files/timestamps.slt
b/datafusion/sqllogictest/test_files/timestamps.slt
index 71b6ddf33f..f956d59b1d 100644
--- a/datafusion/sqllogictest/test_files/timestamps.slt
+++ b/datafusion/sqllogictest/test_files/timestamps.slt
@@ -46,6 +46,30 @@ 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
+
+query B
+select current_date() = today();
+----
+true
+
+query B
+select cast(now() as date) = today();
+----
+true
+
##########
## Timestamp Handling Tests
diff --git a/docs/source/user-guide/sql/scalar_functions.md
b/docs/source/user-guide/sql/scalar_functions.md
index 9a9bec9df7..ad4c6ed083 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)
@@ -1308,6 +1309,14 @@ no matter when in the query plan the function executes.
current_date()
```
+#### Aliases
+
+- today
+
+### `today`
+
+_Alias of [current_date](#current_date)._
+
### `current_time`
Returns the current UTC time.