Skip to main content

MILLISECONDS_SUB

Description​

Subtracts a specified number of milliseconds from a datetime value and returns a new datetime value.

Syntax​

MILLISECONDS_SUB(<basetime>, <delta>)

Parameters​

ParameterDescription
<basetime>The input datetime value, of type DATETIMEV2
<delta>The number of milliseconds to subtract, of type INT; 1 second = 1,000 milliseconds = 1,000,000 microseconds

Return Value​

Returns a value of type DATETIMEV2, representing the time value after subtracting the specified number of milliseconds from the input datetime. The precision of the return value is the same as that of the input parameter basetime.

Example​

SELECT MILLISECONDS_SUB('2023-09-08 16:02:08.435123', 1);
+--------------------------------------------------------------------------+
| milliseconds_sub(cast('2023-09-08 16:02:08.435123' as DATETIMEV2(6)), 1) |
+--------------------------------------------------------------------------+
| 2023-09-08 16:02:08.434123 |
+--------------------------------------------------------------------------+
1 row in set (0.11 sec)

Note:

  • In the example, after subtracting 1 millisecond, the time decreases from .435123 to .434123.
  • 1 millisecond equals 1000 microseconds.
  • The function's result is dependent on the precision of the input time; the example uses a precision of 6 decimal places.
  • The result retains microsecond-level precision.