Чтобы извлечь первый день года для любой даты в PostgreSQL, вы можете использовать функцию DATE_TRUNC(). Функция DATE_TRUNC() используется для усечения даты или временной метки до заданного уровня точности. Она позволяет округлить дату или временную метку до определенной единицы измерения, такой как год, квартал, месяц, неделя, день, час и т. д. В нашем случае мы получим первый день года для любой заданной даты. Также мы заполним первый день года, основываясь на столбце date в таблице PostgreSQL.

Синтаксис функции DATE_TRUNC() в PostgreSQL:

DATE_TRUNC(unit、source)

unit: Указывает единицу, до которой нужно усечь дату или временную метку (например, ‘год’, ‘квартал’, ‘месяц’, ‘неделя’, ‘день’, ‘час’ и т. д.).

source: Дата или временная метка, которую вы хотите усечь.

В нашем случае. Значение единицы измерения должно быть “год”.

Извлечение или получение первого дня года из даты в postgresql – функция DATE_TRUNC() :

Для того чтобы получить первый день года из даты в postgresql, мы будем использовать функцию DATE_TRUNC().

В приведенном ниже примере мы передадим год в качестве аргумента “единица” и дату в качестве аргумента “источник”, чтобы извлечь первый день года из даты или datetime

SELECT DATE_TRUNC('year', '2024-02-24 15:30:45'::timestamp) AS First_day_of_Year;

Результат:

Заполнение первого дня года из столбца Date в таблице postgresql с помощью метода 1 DATE_TRUNC()

Мы будем использовать таблицу Student_detail в качестве примера, чтобы показать, как заполнить первый день года из даты в postgresql

Student_detail:

В таблице выше мы будем использовать функцию DATE_TRUNC(), которая принимает в качестве аргумента “год” и столбец с именем “время рождения”. Она извлечет первый день года на основе столбца “Время рождения” и сохранит его в новом столбце таблицы PostgreSQL, как показано ниже

SELECT *, DATE_TRUNC('year', birthdaytime::timestamp) AS First_day_of_year from Student_detail;

Таким образом, в результирующей таблице будет столбец First_day_of_year.

Результат: