MaxGekk opened a new pull request #25408: [SPARK-28687][SQL] Support `epoch`, 
`isoyear`, `milliseconds` and `microseconds` at `extract()`
URL: https://github.com/apache/spark/pull/25408
 
 
   ## What changes were proposed in this pull request?
   
   In the PR, I propose new expressions `Epoch`, `IsoYear`, `Milliseconds` and 
`Microseconds`, and support additional parameters of `extract()` for feature 
parity with PostgreSQL 
(https://www.postgresql.org/docs/11/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT):
   
   1. `epoch` - the number of seconds since 1970-01-01 00:00:00 local time in 
microsecond precision.
   2. `isoyear` - the ISO 8601 week-numbering year that the date falls in. Each 
ISO 8601 week-numbering year begins with the Monday of the week containing the 
4th of January.
   3. `milliseconds` - the seconds field including fractional parts multiplied 
by 1000.
   4. `microseconds` - the seconds field including fractional parts multiplied 
by 1 000 000.
   
   Here are examples:
   ```sql
   spark-sql> SELECT EXTRACT(EPOCH FROM TIMESTAMP '2019-08-11 19:07:30.123456');
   1565550450.123456
   spark-sql> SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-01');
   2005
   spark-sql> SELECT EXTRACT(MILLISECONDS FROM TIMESTAMP '2019-08-11 
19:07:30.123456');
   30123
   spark-sql> SELECT EXTRACT(MICROSECONDS FROM TIMESTAMP '2019-08-11 
19:07:30.123456');
   30123456
   ```
   
   ## How was this patch tested?
   
   Added new tests to `DateExpressionsSuite`, and uncommented existing tests in 
`extract.sql` and `pgSQL/date.sql`.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to