Получайте имя месяца из числа в PostgreSQL У меня есть таблица со столбцом month (integer). В этом столбце хранятся значения типа 1, 2, .. 12. Но я должен показать название месяца. Пример: Если значение 1, мне нужно отобразить jan. Ответ 1 В основном то, что уже опубликовал @small_duck, но несколько улучшений: SELECT to_char(to_timestamp (4::text, 'MM'), 'TMmon') Достаточно простого текста в тексте 4::text, нет необходимости в to_char(..). Вопрос задает "jan" в нижнем регистре: шаблон шаблона: mon. Если вы хотите локализовать вывод, префикс шаблона с помощью модификатора TM. Ответ 2 Возможно, будет более быстрый ответ, но, похоже, это возможно: Включение вашего int в строку Чтение этой строки как метка времени Отображение месяца метки времени. Например: select to_char(to_timestamp(to_char(4, '999'), 'MM'), 'Mon') возвращает 'Apr'. Вы можете превратить его в функцию: create function to_month(integer) returns varchar as $$ select to_char(to_timestamp(to_char($1, '999'), 'MM'), 'Mon'); $$ language sql и использовать его во всем коде. select to_month(month_column) from mytable
Ответ 1 В основном то, что уже опубликовал @small_duck, но несколько улучшений: SELECT to_char(to_timestamp (4::text, 'MM'), 'TMmon') Достаточно простого текста в тексте 4::text, нет необходимости в to_char(..). Вопрос задает "jan" в нижнем регистре: шаблон шаблона: mon. Если вы хотите локализовать вывод, префикс шаблона с помощью модификатора TM.
Ответ 2 Возможно, будет более быстрый ответ, но, похоже, это возможно: Включение вашего int в строку Чтение этой строки как метка времени Отображение месяца метки времени. Например: select to_char(to_timestamp(to_char(4, '999'), 'MM'), 'Mon') возвращает 'Apr'. Вы можете превратить его в функцию: create function to_month(integer) returns varchar as $$ select to_char(to_timestamp(to_char($1, '999'), 'MM'), 'Mon'); $$ language sql и использовать его во всем коде. select to_month(month_column) from mytable