Trabajando con TO_CHAR()
Ya sea que desee obtener la fecha actual en su consulta de PostgreSQL o trabajar con fechas en su tabla, es esencial comprender cómo convertir la fecha en una cadena. Tal vez desee un formato más bonito para la fecha como salida o extraer una sección de la fecha después de convertirla en una cadena. Cualquiera sea el caso, TO_CHAR() es la función ideal.
Además, TO_CHAR() ofrece muchas opciones de formato que puedes utilizar. Puede combinar las diferentes opciones para obtener el resultado deseado.
TO_CHAR() toma la siguiente sintaxis:
TO_CHAR(expresión, formato);
La expresión es la marca de tiempo que desea convertir usando el formato especificado.
Los siguientes son los formatos TO_CHAR() comúnmente utilizados:
1 año
AAAA – Muestra el año en 4 dígitos.
Y,YYY – Utiliza una coma para representar los cuatro dígitos del año.
AAAA – Solo muestra los últimos tres dígitos del año especificado.
AA – Solo muestra los dos últimos dígitos del año especificado.
Y – Solo muestra el último dígito del año especificado.
2 meses
MES - Utiliza mayúsculas para el nombre del mes.
mes - Utiliza minúsculas para el nombre del mes.
MI - Abrevia el mes en mayúsculas.
Mi - Abrevia y pone en mayúscula el mes.
MM – Solo muestra el número del mes.
3 días
DÍA - El nombre del día en mayúsculas.
día - El nombre del día en minúsculas.
TÚ - Abrevia el nombre del día y lo escribe en mayúscula.
Aquellos - Abrevia y escribe en mayúscula el nombre del día.
tú- El nombre del día abreviado en minúsculas.
4. Tiempo
S.S - Hora del dia
HH12 – formato de 12 horas
HH24 – formato de 24 horas
MI – Minutos
SS – Segundos
Los formatos dados no son los únicos formatos TO_CHAR() que puede utilizar, pero son los más utilizados. Daremos su uso de ejemplo en esta publicación.
Ejemplo 1: convertir la fecha en cadena
Para este ejemplo, escribimos la fecha objetivo como nuestra expresión y especificamos qué formato convertirla. El siguiente resultado muestra cómo convertimos “2023-11-29” en una cadena más legible y comprensible:
Ejemplo 2: trabajar con la fecha actual
En PostgreSQL, CURRENT_DATE le proporciona la fecha de ese día en particular.
Supongamos que queremos convertirlo en una cadena. Solo necesitamos usar CURRENT_DATE como nuestra expresión y luego especificar nuestro formato. Ahora obtienes tu fecha actual como una cadena.
Aún así, puedes cambiar el formato a uno diferente para alcanzar tu objetivo. Por ejemplo, si solo queremos mostrar la fecha, mes y año, ajustamos nuestro comando de la siguiente manera:
La belleza de TO_CHAR() es que puedes combinar los diferentes formatos para crear el formato final que deseas usar para tu cita. Sigamos adelante y trabajemos con marcas de tiempo.
Ejemplo 3: trabajar con marca de tiempo
Hasta ahora sólo hemos trabajado con fechas. Sin embargo, si su fecha contiene hora, puede extraer la hora especificando su formato ideal.
A continuación se muestra un ejemplo en el que especificamos obtener la hora en formato de 24 horas a partir de la marca de tiempo proporcionada, omitiendo la fecha:
Para el formato de hora de 12 horas, utilizamos HH12 en lugar de HH24. Eche un vistazo al siguiente ejemplo:
Por último, si queremos extraer la fecha y la hora de la marca de tiempo proporcionada, solo necesitamos agregar el formato ideal que deseamos usar. Aquí, especificamos el uso de HH12:MI:SS para la hora y agregamos un separador. A continuación, especificamos que se utilice 'dd, mes, aaaa' para la fecha.
Nuestro resultado final es el siguiente:
Ejemplo 4: trabajar con una tabla
Todos los formatos que discutimos y mencionamos se pueden aplicar a una tabla PostgreSQL. Para este ejemplo, tenemos una tabla llamada 'pedidos' que contiene la columna 'fecha'. Para seleccionar los elementos del mismo y usar TO_CHAR() para la columna 'fecha', ejecutamos nuestro comando como se ilustra a continuación:
Puedes utilizar cualquier formato que desees. Aquí está el mismo comando pero con un formato de fecha diferente:
Si solo queremos mostrar el día de la semana y el mes en la columna de fecha, así es como ajustamos el comando:
No dude en especificar cualquier formato ideal con el que desee trabajar para su caso.
Conclusión
TO_CHAR() es una útil función de PostgreSQL que permite a los usuarios convertir las marcas de tiempo y otros literales en cadenas. Esta publicación demuestra las diferentes formas en que puedes usar TO_CHAR() para las fechas. Proporcionamos diferentes ejemplos para asegurarnos de que comprenda rápidamente el contenido. Con suerte, TO_CHAR() ya no te molestará más.