Date functions

This page goes over the date functions in Upsolver.

ADD_TIME_ZONE_OFFSET

Add a timezone offset to a date.

The timezone offset can be in any of the standard formats accepted by Java's ZoneId.of method (America/New_York, +02:00, etc.).

Inputs

  • time

  • zone

time

zone

result

"2018-03-10T08:55:12.456Z"

"+02:00"

"2018-03-10T10:55:12.456Z"

"2018-03-10T08:55:12.456Z"

"America/New_York"

"2018-03-10T03:55:12.456Z"

"2018-03-10T08:55:12.456Z"

""

null

"2018-03-10T08:55:12.456Z"

"Invalid Zone Id"

null

BETWEEN

Checks if a date is between two dates.

Inputs

  • value

  • lowerBound

  • upperBound

DATE_DIFF

Returns an error message as DATE_DIFF has been deprecated.

DATE_DIFF_PRECISE

This function returns the floating point number of time units between two timestamp values.

Syntax

DATE_DIFF_PRECISE(UNIT, TIMESTAMP1, TIMESTAMP2)

Arguments

UNIT The unit of time of the calculation.

TIMESTAMP1, TIMESTAMP2 The two timestamps used in the calculation (timestamp2-timestamp1)

Returns

Returns a floating point value for timestamp2-timestamp1 expressed in terms of unit.

Examples

> SELECT DATE_DIFF_PRECISE('day',TO_DATE('2018-01-01 00:00:00.000'), TO_DATE('2018-01-09 12:00:00.000'))FROM “Bid_Requests”;

- > 8.5

DATE_FORMAT

Convert date into string.

Properties

  • Format - The date format to output.

    • The format uses the Java DateTimeFormatter format.

    • For example, yyyy-MM-dd HH:mm:ss will output strings in the format 2017-07-23 14:33:54.

    • yyyy-MM-dd'T'HH:mm:ss.SSS'Z' will output strings in the format 2017-07-23T14:33:54.756Z.

time

zone

result

"2018-03-10T08:55:12.456Z"

"yyyy/MM/dd HH:mm:ss.SSS"

"2018/03/10 08:55:12.456"

"2018-03-10T08:55:12.456Z"

"yyyy/MM/dd"

"2018/03/10"

"2018-03-10T08:55:12.456Z"

"HH:mm:ss.SS"

"08:55:12.45"

"2018-03-10T08:55:12.456Z"

"E"

"Sat"

PARSE_DATE

Convert a date string in the provided format into a date.

If the date is missing or not in the correct format, this feature will not return a value.

Properties

  • Format - The date format to output.

    • The format uses the Java DateTimeFormatter format.

    • For example, yyyy-MM-dd HH:mm:ss will output strings in the format 2017-07-23 14:33:54.

    • yyyy-MM-dd'T'HH:mm:ss.SSS'Z' will output strings in the format 2017-07-23T14:33:54.756Z.

date

Format

result

"2017-09-25 22:11:00"

"yyyy-MM-dd HH:mm:ss"

"2017-09-25T22:11:00Z"

"2018-03-19"

"yyyy-MM-dd"

"2018-03-19T00:00:00Z"

"2018_Mar_21_17:59:05.689"

"yyyy_MMM_dd_HH:mm:ss.SSS"

"2018-03-21T17:

59:05.689Z"

"2018_Mar_21"

"yyyy_MMM_dd"

"2018-03-21T00:00:00Z"

"2018_Mar_21_24:59:05.689 America/Los_Angeles"

"yyyy_MMM_dd_kk:

mm:ss.SSS VV"

"2018-03-21T07:

59:05.689Z"

PRESTO_DATE_DIFF

This function returns the integer number of time units between two timestamp values.

Syntax

PRESTO_DATE_DIFF(UNIT, TIMESTAMP1, TIMESTAMP2)

Arguments

UNIT The unit of time of the calculation.

TIMESTAMP1, TIMESTAMP2 The two timestamps used in the calculation (timestamp2-timestamp1)

Returns

Returns an integer value, for timestamp2-timestamp1), expressed in terms of unit.

Examples

> SELECT PRESTO_DATE_DIFF('day', TO_DATE('2018-01-01 00:00:00.000'), TO_DATE('2018-01-09 00:00:01.000')) FROM “Bid_Requests”;

- > 8

TO_UNIX_EPOCH_MILLIS

Convert a date to its Epoch (unix) milliseconds representation.

date

result

"2018-03-10T08:55:12.456Z"

1520672112456

TO_UNIX_EPOCH_SECONDS

Convert a date to its Epoch (unix) seconds representation.

date

result

"2018-03-10T08:55:12.456Z"

1520672112

UNIX_EPOCH_TO_DATE

Convert epoch seconds or milliseconds to a date.

epochMillis

result

1520672112456

"2018-03-10T08:55:12.456Z"

1520672112

"2018-03-10T08:55:12Z"

1520672112456000

"2018-03-10T08:55:12.456Z"

1520672112456000000

"2018-03-10T08:55:12.456Z"

Last updated