Languages
[Edit]
EN

Node.js - PostgreSQL Find rows created within the last week / weeks

0 points
Created by:
Dirask Admin - MR
1340

In this article, we would like to show you how to find rows created within the last week in the Postgres database from Node.js level.

Node.js - PostgreSQL Find rows created within the last week
Table used in the example - HeidiSQL

Note: at the end of this article you can find database preparation SQL queries.

const { Client } = require('pg');

const client = new Client({
    host: '127.0.0.1',
    user: 'my_username',
    database: 'my_database',
    password: 'my_password',
    port: 5432,
});

const fetchEventsFromLastWeeks = async (weekCount) => {
	const query = `    
            SELECT *
            FROM "events"
            WHERE "event_timestamp" > NOW() - $1 * interval '1 week';
    `;
    await client.connect();  // creates connection
    try {
        const { rows } = await client.query(query, [weekCount]);  // sends query
        return rows;
    } finally {
        await client.end();  // closes connection
    }
};

fetchEventsFromLastWeeks(1)
    .then(result => console.table(result))
    .catch(error => console.error(error.stack));

Result:

┌─────────┬────┬──────────────────────────┐
│ (index) │ id │     event_timestamp      │
├─────────┼────┼──────────────────────────┤
│    0    │ 8  │ 2021-04-16T18:50:40.000Z │
│    1    │ 9  │ 2021-04-17T13:45:35.000Z │
│    2    │ 10 │ 2021-04-23T14:46:36.000Z │
│    3    │ 11 │ 2021-04-23T17:49:39.000Z │
│    4    │ 12 │ 2021-04-23T18:50:40.000Z │
└─────────┴────┴──────────────────────────┘

Database preparation

create_tables.sql file:

CREATE TABLE "events" (
	"id" SERIAL PRIMARY KEY,
	"event_timestamp" TIMESTAMP NOT NULL
);

insert_data.sql file:

INSERT INTO "events" 
    ("event_timestamp")
VALUES
    ('2021-04-01 11:41:31'),
    ('2021-04-01 12:42:32'),
    ('2021-04-02 14:44:34'),
    ('2021-04-02 15:45:35'),
    ('2021-04-03 16:46:36'),
    ('2021-04-05 17:47:37'),
    ('2021-04-05 19:49:39'),
    ('2021-04-16 20:50:40'),
    ('2021-04-17 15:45:35'),
    ('2021-04-23 16:46:36'),
    ('2021-04-23 19:49:39'),
    ('2021-04-23 20:50:40');

Native SQL query (used in the above example):

SELECT *
FROM "events"
WHERE "event_timestamp" > NOW() - $1 * interval '1 week';

Node.js - PostgreSQL - dates

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join