Función TO_CHAR en PostgreSQL

La función TO_CHAR en PostgreSQL te permite convertir valores a formato cadena. Esta función está englobada en las denominadas funciones de cadena.

Sintaxis

Escribe la siguiente sintaxis para utilizarlo:

TO_CHAR(expresion, formato)
  • expresión: la expresión puede ser una marca de tiempo, un intervalo, un número entero, un valor de doble precisión o un valor numérico que se convierte en cadena según un formato específico.
  • formato: que formato se debe devolver la cadena.

Lista de formatos

La tabla siguiente muestra las cadenas de formato numérico válidas:

FormatoDescripción
9Valor numérico con el número de dígitos especificado
0Valor numérico con ceros a la izquierda
. (period)punto decimal
Dpunto decimal que utiliza la configuración regional
, (comma)grupo (miles) separador
FMModo de relleno, que suprime los espacios en blanco de relleno y los ceros a la izquierda.
PRValor negativo entre paréntesis angulares.
SSigno anclado a un número que utiliza la configuración regional
LSímbolo de moneda que utiliza la configuración regional
GSeparador de grupos que utiliza la configuración regional
MISigno menos en la posición especificada para números menores que 0.
PLSigno más en la posición especificada para números mayores que 0.
SGSigno más / menos en la posición especificada
RNNúmero romano que va del 1 al 3999
TH or thSufijo del número ordinal en mayúsculas o minúsculas

La siguiente tabla muestra las cadenas de formato de fecha y hora válidas:

PatternDescription
Y,YYYaño en 4 dígitos con coma
YYYYaño en 4 dígitos
YYY3 últimos dígitos del año
YY2 últimos dígitos del año
YEl último dígito del año
IYYYAño de numeración de semanas ISO 8601 (4 o más dígitos)
IYY3 últimos dígitos del año de numeración de la semana ISO 8601
IY2 últimos dígitos del año de numeración de la semana ISO 8601
IÚltimo dígito del año de numeración de la semana ISO 8601
BC, bc, AD or adIndicador de era sin puntos
B.C., b.c., A.D. ora.d.Indicador de época con puntos
MONTHNombre del mes en inglés en mayúsculas
MonthNombre del mes en inglés con mayúsculas
monthNombre completo del mes en inglés en minúsculas
MONNombre abreviado del mes en mayúsculas, por ejemplo, ENE, FEB, etc.
MonNombre del mes abreviado en mayúsculas, por ejemplo, enero, febrero, etc.
monNombre abreviado del mes en minúsculas, por ejemplo, ene, feb, etc.
MMNúmero de mes de 01 a 12
DAYNombre del día completo en mayúsculas
DayNombre del día completo con la primera letra en mayúsculas
dayNombre del día completo en minúsculas
DYNombre abreviado del día en mayúsculas
DyNombre abreviado del día con la primera letra en mayúsculas
dyNombre abreviado del día en minúsculas
DDDDía del año (001-366)
IDDDDía del año de numeración ISO 8601 (001-371; el día 1 del año es el lunes de la primera semana ISO)
DDDía del mes (01-31)
DDía de la semana, de domingo (1) a sábado (7)
IDISO 8601 día de la semana, de lunes (1) a domingo (7)
WSemana del mes (1-5) (la primera semana comienza el primer día del mes)
WWNúmero de semana del año (1-53) (la primera semana comienza el primer día del año)
IWNúmero de semana del año de numeración de semanas ISO 8601 (01-53; el primer jueves del año corresponde a la semana 1)
CCSiglo: 21, 22, etc.
JDía juliano (días enteros desde el 24 de noviembre de 4714 a.C. a medianoche UTC)
RMMes en números romanos en mayúsculas (I-XII)
rmMes en números romanos minúsculas (i-xii)
HHHora del día (0-12)
HH12Hora del día (0-12)
HH24Hora del día (0-23)
MIMinuto (0-59)
SSSegundo (0-59)
MSMilisegundo (000-999)
USMicrosegundo (000000-999999)
SSSSSegundos después de medianoche (0-86399)
AM, am, PM or pmIndicador Meridiem (sin puntos)
A.M., a.m., P.M. or p.m.Indicador Meridiem (con puntos)

Ejemplos

Convertir una fecha a cadena

En el siguiente ejemplo convertimos el campo fecha_alta que es de tipo fecha con formato yyyy-mm-dd a otro campo de cadena con formato dd/mm/yy

select fecha_alta, to_char(fecha_alta,'dd/mm/yy') 
from empleados;
Función TO_CHAR en PostgreSQL

Convertir una fecha y hora con zona horaria a cadena

En el siguiente ejemplo puedes observar como se ha añadido un día a una fecha y hora con zona horaria con la función date_add y después lo convertimos a cadena en formato dd/mm/yyyy.

select to_char(date_add('1986-09-26', '1 day'::interval), 'dd/mm/yyyy');

Escribir un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.