Apache Drill
  1. Apache Drill
  2. DRILL-549

Implement functions for date and interval data types

    Details

    • Type: New Feature New Feature
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.4.0
    • Component/s: None
    • Labels:
      None

      Description

      Below is the list of functions to be supported as part of this task:

      Date & Interval Arithmetic Functions:

      date +/- integer

      date + interval
      time + interval
      timestamp + interval
      timestamptz + interval
      date + intervalday
      time + intervalday
      timestamp + intervalday
      timestamptz + intervalday
      date + intervalyear
      time + intervalyear
      timestamp + intervalyear
      timestamptz + intervalyear

      date + time

      date - date
      time - time
      timestamp - timestamp
      timestamptz - timestamptz

      interval +/- interval
      intervalday +/- intervalday
      intervalyear +/- intervalyear

      interval *//(div) integer or float or double
      intervalday *//(div) integer or float or double
      intervalyear *//(div) integer or float or double

      -interval
      -intervalday
      -intervalyear

      Date Utility Functions:

      CURRENT_DATE
      CURRENT_TIME
      CURRENT_TIMESTAMP
      LOCALTIME
      LOCALTIMESTAMP
      now()
      timeofday()
      clock_timestamp()

      // For each of the below functions, the 'text' parameter can be one of the following

      {year, month, day, hour, minute, second}

      date_part(text, date)
      date_part(text, time)
      date_part(text, timestamp)
      date_part(text, timestamptz)
      date_part(text, interval)
      date_part(text, intervalday)
      date_part(text, intervalyear)

      // Extract functions similar to date_part
      extract(field from date)
      extract(field from time)
      extract(field from timestamp)
      extract(field from timestamptz)
      extract(field from interval)
      extract(field from intervalday)
      extract(field from intervalyear)

      Date Formatting Functions:
      // 'text' parameter represents the desired output format
      to_char(date, text)
      to_char(time, text)
      to_char(timestamp, text)
      to_char(timestamptz, text)

      // In the below functions first 'text' param represents the string to be converted to date type
      // Second 'text' param represents the format its in
      to_date(text, text)
      to_time(text, text)
      to_timestamp(text, text)
      to_timestamptz(text, text)

      // Input is long milliseconds from epoch
      to_date(long)
      to_time(long)
      to_timestamp(long)
      to_timestamptz(long)

      1. DRILL-549.patch
        104 kB
        Mehant Baid

        Activity

          People

          • Assignee:
            Mehant Baid
            Reporter:
            Mehant Baid
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development