Справочник по функциям

UNIX_TIMESTAMP

Аналог в PostgreSQL:

Возвращает Unix-время — количество секунд с 1970-01-01 00:00:00 UTC.

MySQL 8.1
UNIX_TIMESTAMP([date])

Параметры

dateDATETIMEнеобязательный
Дата или дата со временем, по умолчанию текущий момент

Возвращаемое значение

Целое число секунд, дробное, если у даты есть доли секунды; 0 для дат вне диапазона, например раньше 1970 года, и для строки, которая не распознана как дата: UNIX_TIMESTAMP('abc') = 0

Примеры

Текущий момент в секундах

MySQL 8.1
SELECT UNIX_TIMESTAMP();

Даты платежей в секундах

MySQL 8.1
SELECT payment_id,
	date,
	UNIX_TIMESTAMP(date) AS unix_time
FROM Payments;
payment_iddateunix_time
12005-02-121108166400
22005-03-231111536000
32005-05-141116028800
42005-07-221121990400
52005-07-261122336000
62005-02-201108857600
72005-07-301122681600
82005-09-121126483200
92005-09-301128038400
102005-10-271130371200

Дата раньше 1970 года

MySQL 8.1
SELECT UNIX_TIMESTAMP('1969-12-31') AS unix_time;
unix_time
0

Подробности

Дата без часового пояса считается временем в часовом поясе сеанса (time_zone), поэтому результат зависит от настроек сервера.

Смотрите также