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', '[email protected]', '2022-06-17'),
( 2, 'Ansel', '[email protected]', '2022-06-18'),
( 3, 'Baillie', '[email protected]', '2022-06-18'),
( 4, 'Lay', '[email protected]', '2021-11-23'),
( 5, 'Berton', '[email protected]', '2021-12-05'),
( 6, 'Malory', '[email protected]', '2022-01-31'),
( 7, 'Fernanda', '[email protected]', '2021-11-26'),
( 8, 'Hester', '[email protected]', '2022-03-13'),
( 9, 'Ced', '[email protected]', '2021-09-18'),
( 10, 'Tommy', '[email protected]', '2022-04-05');
select* from Users;
Producción :
id | full_name | email | register
----+-----------+----------------------------+------------
1 | Trula | [email protected] | 2022-06-17
2 | Ansel | [email protected] | 2022-06-18
3 | Baillie | [email protected] | 2022-06-18
4 | Lay | [email protected] | 2021-11-23
5 | Berton | [email protected] | 2021-12-05
6 | Malory | [email protected] | 2022-01-31
7 | Fernanda | [email protected] | 2021-11-26
8 | Hester | [email protected] | 2022-03-13
9 | Ced | [email protected] | 2021-09-18
10 | Tommy | [email protected] | 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 | [email protected] | 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 | [email protected] | 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.