UTC_TIMESTAMP is a MySQL and MariaDB built-in date and time function that produces the current UTC date and time. It behaves like NOW(), except it is timezone-agnostic and always returns the value in UTC rather than the server or session time zone. The function can be written with or without parentheses. If called in a string context it yields a string such as '2024-05-11 14:32:18'. In numeric context it returns a number like 20240511143218.000000. Fractional seconds precision matches the global or session setting of `time_precision` (0-6). When used in DDL as a default or on-update expression for TIMESTAMP or DATETIME columns, it guarantees that all stored values represent UTC, simplifying cross-region replication, logging, and analytics.
MySQL 4.1
It returns a DATETIME value in string context and a numeric value in numeric context, both representing the current UTC date and time.
No. It ignores the server's time zone and always provides Coordinated Universal Time.
Define your DATETIME or TIMESTAMP column with `DEFAULT UTC_TIMESTAMP` (and `ON UPDATE UTC_TIMESTAMP` if needed) so MySQL fills the column without manual input.
Not under that name. Use `now() AT TIME ZONE 'UTC'` in PostgreSQL and `GETUTCDATE()` in SQL Server.