PostgreSQL | Как проставить текущую дату во все записи одного столбца таблицы? — efim360.ru

PostgreSQL | Как проставить текущую дату во все записи одного столбца таблицы?

Есть таблица с неполным набором данных:

-- Создаём таблицу
CREATE TABLE test1.rrr (
   xname text,
   xdate timestamp without time zone
);

-- Наполняем неполными данными
INSERT INTO test1.rrr VALUES ('Иван');
INSERT INTO test1.rrr VALUES ('Максим');
INSERT INTO test1.rrr VALUES ('Николай');
INSERT INTO test1.rrr VALUES ('Сергей');
INSERT INTO test1.rrr VALUES ('Дмитрий');

-- Выводим таблицу для ознакомления
SELECT * FROM test1.rrr;

 

Выглядит она так:

Таблица с незаполненными ячейками даты - PostgreSQL
Таблица с незаполненными ячейками даты - PostgreSQL

Нам нужно заполнить все ячейки столбца xdate текущей датой. Как это сделать?

Для заполнения мы будем использовать оператор UPDATE так как записи уже созданы, а значит в них нужно произвести обновления. Параметр SET используем столбец с NULL,ами. В качестве значения всем ячейкам проставляется "текущая временная метка" (CURRENT_TIMESTAMP):

-- Обновляем данные в столбце xdate
UPDATE test1.rrr SET xdate = CURRENT_TIMESTAMP;

 

Результат заполнения:

Таблица с заполненными данными и текущей датой во всех 5 записях - PostgreSQL
Таблица с заполненными данными и текущей датой во всех 5 записях - PostgreSQL

CURRENT_TIMESTAMP является встроенной в PostgreSQL функцией, которая генерирует текущую дату и время на момент вызова.

 

Информационные ссылки

Официальный сайт WEB-оболочки pgAdmin - https://www.pgadmin.org

Официальный сайт СУБД PostgreSQL - https://www.postgresql.org

Раздел "8.5. Типы даты/времени" - https://postgrespro.ru/docs/postgresql/14/datatype-datetime

Раздел "9.9.5. Текущая дата/время" - https://postgrespro.ru/docs/postgresql/14/functions-datetime#FUNCTIONS-DATETIME-CURRENT

PostgreSQL | Как получить самую старую запись из таблицы?

PostgreSQL | Текущая ДАТА и ВРЕМЯ при добавлении записи в таблицу