TO_TIMESTAMP() — Converts an integer value to a VoltDB timestamp based on the time unit specified.
TO_TIMESTAMP( time-unit, integer-expression )
The TO_TIMESTAMP() function converts an integer expression to a VoltDB timestamp, interpreting the integer value as the number of specified time units since the POSIX epoch. POSIX time is usually represented as the number of seconds since the epoch; that is, since 00:00.00 on January 1, 1970 Consolidated Universal Time (UTC). So the function TO_TIMESTAMP(Second, timeinsecs) returns the VoltDB TIMESTAMP equivalent of timeinsecs as a POSIX time value. However, you can also request the integer value be interpreted as milliseconds or microseconds since the epoch. The valid keywords for specifying the time units are:
SECOND — Seconds since the epoch
MILLISECOND. MILLIS — Milliseconds since the epoch
MICROSECOND, MICROS — Microseconds since the epoch
You cannot perform arithmetic on timestamps directly. So TO_TIMESTAMP() is useful for converting the results of arithmetic expressions to VoltDB TIMESTAMP values. For example, the following SQL statement uses TO_TIMESTAMP to convert a POSIX time value before inserting it into a VoltDB TIMESTAMP column:
INSERT INTO Event (event_id,event_name,event_type, starttime) VALUES(?,?,?,TO_TIMESTAMP(Second, ?));
The SINCE_EPOCH() function performs the inverse of TO_TIMESTAMP(), by converting a VoltDB TIMESTAMP to an integer value based on the specified time units.