HOWTO · PostgreSQL
Use la cláusula Where en el campo de fecha usando PostgreSQL
Este artículo demuestra el uso de la cláusula where en el campo de tipo de fecha usando PostgreSQL.
Este tutorial nos enseñará a realizar la consulta DÓNDE en el campo fecha. Existen varios formatos de representación de fecha; generalmente, regresa como una cadena o varchar.
A veces se produce el error de formato. Todo lo que necesita hacer es usar cast() para convertir la columna como un tipo de fecha y luego usarla dentro de la cláusula where.
Use la cláusula WHERE en el campo Date usando PostgreSQL
Supongamos que tiene una tabla de Usuarios y tiene un campo que contiene fecha.
create table Users (
id INT PRIMARY KEY,
full_name VARCHAR(50),
email VARCHAR(50),
register DATE
);
insert into Users (id, full_name, email, register)
values
( 1, 'Trula', 'ttawse0@washingtonpost.com', '2022-06-17'),
( 2, 'Ansel', 'acotter1@friendfeed.com', '2022-06-18'),
( 3, 'Baillie', 'bgloves2@squidoo.com', '2022-06-18'),
( 4, 'Lay', 'lforsythe3@digg.com', '2021-11-23'),
( 5, 'Berton', 'bfowley4@myspace.com', '2021-12-05'),
( 6, 'Malory', 'mflack5@salon.com', '2022-01-31'),
( 7, 'Fernanda', 'fianson6@meetup.com', '2021-11-26'),
( 8, 'Hester', 'hshyram7@uiuc.edu', '2022-03-13'),
( 9, 'Ced', 'cmorsey8@goo.gl', '2021-09-18'),
( 10, 'Tommy', 'tleipoldt9@sbwire.com', '2022-04-05');
select* from Users;
Producción :
id | full_name | email | register
----+-----------+----------------------------+------------
1 | Trula | ttawse0@washingtonpost.com | 2022-06-17
2 | Ansel | acotter1@friendfeed.com | 2022-06-18
3 | Baillie | bgloves2@squidoo.com | 2022-06-18
4 | Lay | lforsythe3@digg.com | 2021-11-23
5 | Berton | bfowley4@myspace.com | 2021-12-05
6 | Malory | mflack5@salon.com | 2022-01-31
7 | Fernanda | fianson6@meetup.com | 2021-11-26
8 | Hester | hshyram7@uiuc.edu | 2022-03-13
9 | Ced | cmorsey8@goo.gl | 2021-09-18
10 | Tommy | tleipoldt9@sbwire.com | 2022-04-05
(10 rows)
Digamos que queremos ver un usuario que se registró el 17/06/22, pero el problema es que no es el formato correcto para buscar en el campo de tipo fecha.
Entonces necesitamos convertirlo al formato ISO-8601, por lo que el equivalente del formato ISO-8601 será 2022-06-17. Aquí está la consulta para buscar:
SELECT *
FROM USERS
WHERE register::date = '2022-06-17';
Producción :
id | full_name | email | register
----+-----------+----------------------------+------------
1 | Trula | ttawse0@washingtonpost.com | 2022-06-17
(1 row)
Además, puedes probar más funciones desde el tipo fecha. Por ejemplo, la función date_trunc.
SELECT * FROM USERS WHERE date_trunc('day', register) = '2022-06-17';
Producción :
id | full_name | email | register
----+-----------+----------------------------+------------
1 | Trula | ttawse0@washingtonpost.com | 2022-06-17
(1 row)
Aquí hay otra consulta de ejemplo:
SELECT * FROM USERS WHERE date_trunc('month', register) = '2022-06-17';
Producción :
id | full_name | email | register
----+-----------+-------+----------
(0 rows)s
Para saber más sobre la fecha en Postgres, visite la documentación oficial.