Use la cláusula Where en el campo 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.