Name
SYSDATE()
Synopsis
SYSDATE()
This function returns the system date at the time it is
executed. It will return the date and time in the
yyyy-mm-dd hh:mm:ss
format, but will return
the data in the yyyymmddhhmmss
format if
it’s used as part of a numeric calculation. It will display the
microseconds value if the calculation involves a microseconds value.
Here is an example:
SELECT SYSDATE( ), SYSDATE( ) + 0 AS 'Numeric Format'; +---------------------+----------------+ | SYSDATE( ) | Numeric Format | +---------------------+----------------+ | 2008-03-15 23:37:38 | 20080315233738 | +---------------------+----------------+
This function is similar to the NOW()
function in that they both return the current datetime and in the same
format. However, the NOW()
function returns
the time when the SQL statement began, whereas
SYSDATE()
returns the time the function was
invoked. See the definition of NOW()
earlier
in this chapter for an example of this situation and its significance.
If you’re using replication, the binary log will include
SET TIMESTAMP
entries, so if you restore a database
from the binary log, values from NOW()
will
be adjusted to the same times as when the original SQL statements were
executed. SYSDATE()
entries are unaffected by
these SET TIMESTAMP
entries:
SET @yesterday = UNIX_TIMESTAMP(SUBDATE(SYSDATE( ), 1)); SELECT FROM_UNIXTIME(@yesterday); +---------------------------+ | FROM_UNIXTIME(@yesterday) | +---------------------------+ | 2008-03-17 00:19:17 | +---------------------------+ ...
Get MySQL in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.