Относно първия въпрос:допълнителните интервали са, защото month
и Day
моделите са:
https://www.postgresql.org/docs/9.6/static /functions-formatting.html
Така че, ако искате да премахнете тези интервали, можете да опитате нещо подобно:
select trim(to_char(localtimestamp(0), 'Day'))||to_char(localtimestamp(0), ' DD ')||trim(to_char(localtimestamp(0), 'month'))||to_char(localtimestamp(0), ' YYYY')
--
Относно италианския език, може би има и други начини, но това също трябва да работи. Можете да кодирате твърдо имената на италианските месеци и дни и да ги „превеждате“, като използвате case
израз, нещо като това:
select
case
when trim(to_char(tstamp, 'Day')) = 'Monday' then 'Monday_in_italian'
when trim(to_char(tstamp, 'Day')) = 'Tuesday' then 'Tuesday_in_italian'
when trim(to_char(tstamp, 'Day')) = 'Wednesday' then 'Wednesday_in_italian'
-- another days here
end||
to_char(tstamp, ' DD ')||
case
when trim(to_char(tstamp, 'month')) = 'january' then 'January_in_italian'
when trim(to_char(tstamp, 'month')) = 'february' then 'February_in_italian'
-- another months here
end||
to_char(tstamp, ' YYYY')
as tstamp
from your_table
Обърнете внимание, че трябва да поставите имената на всичките 7 дни и всичките 12 месеца в изрази за регистър, ако искате да работите правилно по всяко време.
Или още по-добре, в case
изрази, можете да използвате D
модел за определяне на ден и MM
модел за месец. Ако искате да видите списък с налични модели, можете да последвате връзката, публикувана от мен по-горе.