Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-549

Implement functions for date and interval data types

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.4.0
    • None
    • 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)

      Attachments

        1. DRILL-549.patch
          104 kB
          Mehant Baid

        Activity

          People

            mehant Mehant Baid
            mehant Mehant Baid
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: