waitingkuo commented on PR #4385:
URL:
https://github.com/apache/arrow-datafusion/pull/4385#issuecomment-1329835485
hi @comphead thank you
i tested the pr
```bash
❯ select date_part('second', timestamp '2000-01-01T00:00:09.123456');
+-------------------------------------------------------------+
| datepart(Utf8("second"),Utf8("2000-01-01T00:00:09.123456")) |
+-------------------------------------------------------------+
| 9 |
+-------------------------------------------------------------+
1 row in set. Query took 0.002 seconds.
❯ select date_part('millisecond', timestamp '2000-01-01T00:00:09.123456');
+------------------------------------------------------------------+
| datepart(Utf8("millisecond"),Utf8("2000-01-01T00:00:09.123456")) |
+------------------------------------------------------------------+
| 123 |
+------------------------------------------------------------------+
1 row in set. Query took 0.002 seconds.
❯ select date_part('microsecond', timestamp '2000-01-01T00:00:09.123456');
+------------------------------------------------------------------+
| datepart(Utf8("microsecond"),Utf8("2000-01-01T00:00:09.123456")) |
+------------------------------------------------------------------+
| 123456 |
+------------------------------------------------------------------+
1 row in set. Query took 0.002 seconds.
```
the behavior is different than what postgresql has
```bash
willy=# select date_part('second', timestamp '2000-01-01T00:00:09.123456');
date_part
-----------
9.123456
(1 row)
willy=# select date_part('millisecond', timestamp
'2000-01-01T00:00:09.123456');
date_part
-----------
9123.456
(1 row)
willy=# select date_part('microsecond', timestamp
'2000-01-01T00:00:09.123456');
date_part
-----------
9123456
(1 row)
```
i checked some other system,
spark seems to have the same behavior as postgresql
```bash
# this is spark
SELECT date_part('SECONDS', timestamp'2019-10-01 00:00:01.000001');
+----------------------------------------------------------+
|date_part(SECONDS, TIMESTAMP '2019-10-01 00:00:01.000001')|
+----------------------------------------------------------+
| 1.000001|
+----------------------------------------------------------+
```
while mysql's is similar as this pr
```bash
# this is MYSQL
EXTRACT(SECOND FROM "2017-06-20 00:00:01.123456");
1
```
I originally purposed to output f64 instead of i32 since i'd like to follow
postgresql's
@alamb @tustvold do you have any suggestion?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]