Ir al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

PostgreSQL TO_CHAR (Formatear fechas)

Las funciones de fecha de PostgreSQL, como `TO_CHAR`, se utilizan para dar formato a fechas y horas en una representación textual especificada. `TO_CHAR` es especialmente útil para convertir tipos de datos fecha/hora en cadenas formateadas.

Utilización

La función `TO_CHAR` se utiliza para transformar valores de fecha/hora en una cadena con un formato específico, lo que resulta especialmente útil para mostrar fechas de forma amigable. Requiere un valor de fecha/hora y una cadena de formato que defina el formato de salida deseado.

sql
TO_CHAR(date_value, 'format_string')

En esta sintaxis, `valor_fecha` es la fecha u hora a la que quieres dar formato, y `cadena_formato` especifica cómo quieres que aparezca, utilizando patrones de formato específicos como `AAAA`, `MM`, `DD`, etc. Ten en cuenta que la `cadena_formato` distingue entre mayúsculas y minúsculas, lo que es crucial para garantizar una salida correcta.

Ejemplos

1. Formato básico de fecha

sql
SELECT TO_CHAR(current_date, 'YYYY-MM-DD');

Esta consulta formatea la fecha actual como una cadena con el formato "AAAA-MM-DD", mostrando el año, el mes y el día completos.

2. Formato personalizado de fecha y hora

sql
SELECT TO_CHAR(current_timestamp, 'DD Mon YYYY, HH12:MI AM');

Este ejemplo convierte la marca de tiempo actual a un formato más legible, mostrando el día, el mes abreviado, el año completo, la hora y los minutos con un indicador AM/PM.

3. Formato con el nombre del día

sql
SELECT TO_CHAR(current_date, 'Day, DDth Month YYYY');

Este ejemplo formatea la fecha para incluir el nombre completo del día, el día con un sufijo ordinal y el nombre completo del mes, creando una cadena de fecha más verbosa y legible por humanos.

Consejos y buenas prácticas

  • Elige patrones de formato adecuados. Utiliza patrones de formato que se ajusten a tus preferencias locales y de audiencia. Considera la posibilidad de utilizar patrones que manejen eficazmente los formatos de fecha internacionales.
  • Ten en cuenta el relleno. El patrón `TH` para sufijos ordinales y `FM` para suprimir el relleno pueden hacer que las cadenas sean más legibles. El `FM` (modo de relleno) elimina los espacios iniciales y finales, proporcionando una salida más limpia.
  • Utilízalo para presentación, no para almacenamiento. `TO_CHAR` debe utilizarse con fines de presentación; almacena las fechas en formatos estándar de fecha/hora.
  • Prueba las cadenas de formato. Prueba siempre las cadenas de formato para asegurarte de que producen la salida deseada, especialmente cuando utilices patrones complejos.

Errores comunes y solución de problemas

  • Errores de sensibilidad de caso: Asegúrate de que tu `formato_cadena` utiliza las mayúsculas y minúsculas correctas para cada patrón. Un error común es utilizar minúsculas donde se requieren mayúsculas, lo que conduce a resultados inesperados.
  • Ejemplo de error: Si te encuentras con un error como "la función to_char(desconocido, desconocido) no es única", comprueba que el `valor_fecha` y la `cadena_formato` están correctamente especificados y son de los tipos esperados.

Además de las fechas, `TO_CHAR` también puede formatear valores numéricos, lo que aumenta su versatilidad más allá del formato fecha/hora.