You can use the following code examples in PostgreSQL if you have a month number but you want the month name instead.
Example 1: Full Month Name
Here’s a basic example of converting a month number to its corresponding month name.
SELECT TO_CHAR(
TO_DATE (12::text, 'MM'), 'Month'
) AS "Month Name";
Result:
Month Name ------------ December
Example 2: Short Month Name
You can also convert it to the short month name. To do this, replace 'Month' with 'Mon'.
SELECT TO_CHAR(
TO_DATE (12::text, 'MM'), 'Mon'
) AS "Month Name";
Result:
Month Name ------------ Dec
Example 3: Using Timestamp
Here’s an example that uses TO_TIMESTAMP() instead of TO_DATE().
SELECT TO_CHAR(
TO_TIMESTAMP (12::text, 'MM'), 'Month'
) AS "Month Name";
Result:
Month Name ------------ December
Example 4: Case-Sensitivity
The template pattern is case-sensitive, so you can use it to specify whether the month name should use lowercase, uppercase, or be capitalised.
SELECT
TO_CHAR(
TO_TIMESTAMP (12::text, 'MM'), 'mon'
) AS "mon",
TO_CHAR(
TO_TIMESTAMP (12::text, 'MM'), 'Mon'
) AS "Mon",
TO_CHAR(
TO_TIMESTAMP (12::text, 'MM'), 'MON'
) AS "MON";
Result:
mon | Mon | MON -----+-----+----- dec | Dec | DEC