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

MAKE_DATE

Создаёт дату из года, месяца и дня.

PostgreSQL 17.5
MAKE_DATE(year, month, day)

Параметры

yearinteger
Год, отрицательный — до нашей эры
monthinteger
Месяц от 1 до 12
dayinteger
День месяца от 1 до 31

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

Дата (date); несуществующая дата, например 2023-02-29, вызывает ошибку

Примеры

Дата из частей

PostgreSQL 17.5
SELECT MAKE_DATE(2025, 6, 5);
make_date
2025-06-05

День рождения в 2025 году

PostgreSQL 17.5
SELECT member_name,
	MAKE_DATE(
		2025,
		EXTRACT(
			MONTH
			FROM birthday
		)::int,
		EXTRACT(
			DAY
			FROM birthday
		)::int
	) AS birthday_2025
FROM FamilyMembers;
member_namebirthday_2025
Headley Quincey2025-05-13
Flavia Quincey2025-02-16
Andie Quincey2025-06-05
Lela Quincey2025-06-07
Annie Quincey2025-04-10
Ernest Forrest2025-09-11
Constance Forrest2025-09-06
Wednesday Addams2025-01-13

Подробности

Года 0 нет: MAKE_DATE(0, 1, 1) вызывает ошибку, а год -1 — это 1 год до нашей эры. В MySQL похожая MAKEDATE принимает другие аргументы — год и номер дня в году.

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