SYSDATE
Синтаксис
SYSDATE([precision])
Описание
Возвращает текущую дату и время в формате 'ГГГГ-ММ-ДД ЧЧ:ММ:СС' или ГГГГММДДЧЧММСС.uuuuuu, в зависимости от того, используется ли функция в строковом или числовом контексте.
Необязательный параметр precision определяет точность до микросекунд. См. Микросекунды в MariaDB.
SYSDATE() возвращает время, в которое она выполняется. Это отличается от поведения NOW(), который возвращает постоянное время, указывающее момент начала выполнения оператора. (Внутри хранимой процедуры или триггера NOW() возвращает время начала выполнения процедуры или триггерного оператора.)
Кроме того, изменение системной переменной timestamp с помощью оператора SET timestamp влияет на возвращаемое значение NOW(), но не SYSDATE(). Это означает, что настройки timestamp в двоичном журнале не влияют на вызовы SYSDATE().
Поскольку SYSDATE() может возвращать разные значения даже в рамках одного оператора и не зависит от SET TIMESTAMP, она является недетерминированной и, следовательно, небезопасной для репликации, если используется двоичный журнал на основе операторов. Если это проблема, вы можете использовать журналы на основе строк или запустить сервер с параметром mysqld --sysdate-is-now, чтобы сделать SYSDATE() псевдонимом для NOW(). Недетерминированный характер SYSDATE() также означает, что индексы не могут использоваться для вычисления выражений, которые на него ссылаются, и что операторы, использующие функцию SYSDATE(), являются небезопасными для репликации на основе операторов.
Примеры
Разница между NOW() и SYSDATE():
SELECT NOW(), SLEEP(2), NOW(); +---------------------+----------+---------------------+ | NOW() | SLEEP(2) | NOW() | +---------------------+----------+---------------------+ | 2010-03-27 13:23:40 | 0 | 2010-03-27 13:23:40 | +---------------------+----------+---------------------+ SELECT SYSDATE(), SLEEP(2), SYSDATE(); +---------------------+----------+---------------------+ | SYSDATE() | SLEEP(2) | SYSDATE() | +---------------------+----------+---------------------+ | 2010-03-27 13:23:52 | 0 | 2010-03-27 13:23:54 | +---------------------+----------+---------------------+
С точностью:
SELECT SYSDATE(4); +--------------------------+ | SYSDATE(4) | +--------------------------+ | 2018-07-10 10:17:13.1689 | +--------------------------+
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/sysdate/