parse_duration

Description

Given a duration string (like “2h 30m”, “1.5m”, “22µs”), convert it to a duration.

The string should be of the form: <optional minus sign> (<time> <interval>)+. Negative durations are specified by prepending a minus sign (like “-2h30m”). <time> must be a decimal. <interval> must be one of the following (case-insensitive):

Interval

Abbreviations/Variations

week

w, wk, weekofyear, woy, wy, weeks

day

d, dd, days, daysofmonth

hour

h, hh, hr, hrs, hours

minute

m, mi, min, mins, minutes

second

s, sec, secs, seconds

millisecond

ms, msec, msecs, milliseconds

microsecond

us, µs, usec, usecs, µsec, µsecs, microseconds

nanosecond

ns, nsec, nanosec, nsecond, nanosec, nseconds, nanoseconds

Return type

duration

Domain

This is a scalar function (calculates a single output value for a single input row.)

Categories

Usage

parse_duration( value )

Argument

Type

Required

Multiple

Constant

value

string

Required

Only one

Variable

Examples

make_col dur:parse_duration(durstr)

Assuming there’s a string input column durstr with duration strings, outputs the corresponding duration objects (which is represented as an integer number of nanoseconds).

durstr

dur

1.5m

90000000000

22µs

22000

2h30m

9000000000000

2 hours 3 minutes 4 seconds

7384000000000

42 jupiters 1 sun

NULL

42x24y

NULL

42

NULL

w

NULL