À propos de la première question :les espaces supplémentaires sont dus au month
et Day
les motifs sont :
https://www.postgresql.org/docs/9.6/static /fonctions-formatage.html
Donc, si vous voulez supprimer ces espaces, vous pouvez essayer quelque chose comme ceci :
select trim(to_char(localtimestamp(0), 'Day'))||to_char(localtimestamp(0), ' DD ')||trim(to_char(localtimestamp(0), 'month'))||to_char(localtimestamp(0), ' YYYY')
--
À propos de la langue italienne, il existe peut-être d'autres moyens, mais cela devrait également fonctionner. Vous pouvez coder en dur les noms de mois et de jours italiens et les "traduire" en utilisant case
expression, quelque chose comme ceci :
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
Notez que vous devez mettre tous les noms de 7 jours et de 12 mois dans des expressions de cas, si vous voulez que cela fonctionne correctement à tout moment.
Ou encore mieux, dans case
déclarations, vous pouvez utiliser D
modèle pour déterminer le jour et MM
modèle pour le mois. Si vous voulez voir la liste des modèles disponibles, vous pouvez suivre le lien que j'ai posté ci-dessus.