Vinod KC created SPARK-54442:
--------------------------------
Summary: Add numeric conversion functions for TIME type
Key: SPARK-54442
URL: https://issues.apache.org/jira/browse/SPARK-54442
Project: Spark
Issue Type: Sub-task
Components: SQL
Affects Versions: 4.1.0
Reporter: Vinod KC
Add numeric conversion functions for TIME type that are available for
TIMESTAMP.
eg : Existing numeric conversion for TIMESTAMP :
{code:java}
SELECT timestamp_seconds(1230219000);-- Output: 2008-12-25 07:30:00
SELECT timestamp_seconds(1230219000.123); -- Supports fractional-- Output:
2008-12-25 07:30:00.123
SELECT timestamp_millis(1230219000123);-- Output: 2008-12-25 07:30:00.123
SELECT timestamp_micros(1230219000123123);-- Output: 2008-12-25 07:30:00.123123
SELECT unix_seconds(timestamp'2020-12-01 14:30:08Z');-- Output: 1606833008
SELECT unix_millis(timestamp'2020-12-01 14:30:08Z');-- Output: 1606833008000
SELECT unix_micros(timestamp'2020-12-01 14:30:08Z');-- Output: 1606833008000000
{code}
Add similar functions for TIME type, that will help to: # Create TIME values
from numeric representations (seconds/milliseconds/microseconds since midnight)
# Extract numeric values from TIME for calculations or data exchange with
external systems
*Proposal*
Add six new SQL functions to support numeric conversions for TIME type: *
Constructor Functions (Numeric → TIME)
{code:java}
1) time_from_seconds(seconds) - Create TIME from seconds since midnight
(supports fractional seconds via DECIMAL)
2) time_from_millis(millis) - Create TIME from milliseconds since midnight
3) time_from_micros(micros) - Create TIME from microseconds since midnight
{code}
* Extractor Functions (TIME → Numeric)
{code:java}
4) time_to_seconds(time) - Extract seconds since midnight as DECIMAL(14,6) to
preserve fractional seconds
5) time_to_millis(time) - Extract milliseconds since midnight as BIGINT
6) time_to_micros(time) - Extract microseconds since midnight as BIGINT {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]