21. Timestamps#
QuasarDB supports different ways to express timestamps which are discussed in this chapter.
21.1. Absolute#
Defines an absolute point in time. This can be either a date, or a date + time. When a time is not provided, assumes 12 AM (midnight).
In addition to this, there are convenience functions for representions relative to the current point in time: now(), today(), yesterday() and tomorrow() (parentheses are optional).
Examples:
nowRepresents the current point in time, rounded by the second.
todayRepresents the current day, truncated by the day. For example, assuming the current time is 3pm on January 2, 2018, this will represent 12AM on January 2, 2018.
yesterdayRepresents one day before the current day, truncated by the day. For example, assuming the current time is 3pm on January 2, 2018, this will represent 12AM on January 1, 2018.
tomorrowRepresents one day after the current day, truncated by the day. For example, assuming the current time is 3pm on January 2, 2018, this will represent 12AM on January 3, 2018.
epochRepresents the earliest representable date.
end_of_timeRepresents the latest representable date.
2018-01-01Represents the first of January 2018.
2018-01-01T03:00:00Represents 3AM on the first of January 2018.
2018-01-01T03:00:00.000000001ZRepresents 1 nanosecond past 3AM on the first of January 2018.
21.2. Durations#
Defines a duration of time. Typical use cases include TIMESTAMP calculations in expressions, defining relative offsets for a RANGE, or specifying time intervals for GROUP BY.
Valid durations are:
1ns,1nanosecond:A delta of one nanosecond.
1us,1microsecond:A delta of one microsecond.
1ms,1millisecond:A delta of one millisecond.
1s,1second:A delta of one second.
1min,1minute:A delta of one minute.
1h,1hour:A delta of one hour.
1d,1day:A delta of one day.
1w,1week:A delta of one week.
1mon,1month:A delta of one month.
1y,1year:A delta of one year.
1y 2mon 3w 4d 5h 6min 7s 8ms 9us 10ns:A delta of 1 year, 2 months, 3 weeks, 4 days, 5 hours, etc.
21.3. Offsets#
Defines a time offset relative to another absolute point in time. Typical use cases include performing calculations on TIMESTAMP columns or defining a RANGE.
An offset requires a duration and a sign (positive or negative) to be specified.
An example relative timerange for 2 weeks after the absolute timestamp:
+2w
An example relative timerange 30 minutes before the absolute timestamp:
-30min