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

MAKE_DATE

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

PostgreSQL 17.9
MAKE_DATE(year, month, day)
year
Год, отрицательный — до нашей эры
integer
month
Месяц от 1 до 12
integer
day
День месяца от 1 до 31
integer

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

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

Примеры

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

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

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

PostgreSQL 17.9
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 принимает другие аргументы — год и номер дня в году.

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