sql >> Base de Datos >  >> RDS >> PostgreSQL

Obtenga el nombre del mes de una fecha en PostgreSQL

Si está familiarizado con PostgreSQL, es posible que sepa que puede usar EXTRACT() y el DATE_PART() funciones para extraer el mes de una fecha. Pero esas funciones solo le permiten extraer el número del mes .

¿Qué sucede si necesita el mes nombre? ?

Puede obtener el nombre del mes de una fecha usando TO_CHAR() función. Esta función devuelve una cadena basada en la marca de tiempo y el patrón de plantilla que proporciona como argumentos.

Ejemplo

Aquí hay un ejemplo rápido.

SELECT TO_CHAR(TIMESTAMP '2020-12-16 10:41:35', 'Month') AS "Month";

Resultado:

   Month   
-----------
 December   

En este caso, especifiqué un patrón de plantilla de 'Month' , por lo que esto hizo que se devolviera el mes del valor de la marca de tiempo.

Minúsculas, Mayúsculas y Mayúsculas

Puede devolver el mes en minúsculas, mayúsculas o en mayúsculas. Tú determinas cuál por el caso usas para el patrón de plantilla (segundo argumento).

Aquí hay un ejemplo para demostrar lo que quiero decir.

SELECT 
  TO_CHAR(current_timestamp, 'month') AS "month",
  TO_CHAR(current_timestamp, 'Month') AS "Month",
  TO_CHAR(current_timestamp, 'MONTH') AS "MONTH";

Resultado:

   month   |   Month   |   MONTH   
-----------+-----------+-----------
 march     | March     | MARCH    

Todos los resultados se rellenan en blanco hasta 9 caracteres, independientemente de las mayúsculas y minúsculas que se utilicen.

Nombre de mes corto

También puede especificar que el resultado se formatee usando el nombre corto del mes.

SELECT 
  TO_CHAR(current_timestamp, 'mon') AS "mon",
  TO_CHAR(current_timestamp, 'Mon') AS "Mon",
  TO_CHAR(current_timestamp, 'MON') AS "MON";

Resultado:

 mon | Mon | MON 
-----+-----+-----
 mar | Mar | MAR