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

Postgresql の DATE_TRUNC() 関数の構文:

DATE_TRUNC(unit、source)

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

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

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

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

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

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

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

Результат:

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

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

Student_detail:

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

SELECT *, DATE_TRUNC('month', birthdaytime::timestamp) AS First_day_of_month from Student_detail;

поэтому в результирующей таблице будет столбец Первый_день_месяца.

Результат: