PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgresql :format de date et sortie en langue locale

À 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.