sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgresql:datumformat och lokalt språkutdata

Om den första frågan:ytterligare mellanslag beror på month och Day mönster är:

https://www.postgresql.org/docs/9.6/static /functions-formatting.html

Så om du vill ta bort dessa mellanslag kan du prova något i stil med detta:

 select trim(to_char(localtimestamp(0), 'Day'))||to_char(localtimestamp(0), ' DD ')||trim(to_char(localtimestamp(0), 'month'))||to_char(localtimestamp(0), ' YYYY')

--

Om italienska språket, kan det finnas andra sätt också, men detta borde också fungera. Du kan hårdkodade italienska månads- och dagnamn och "översätta" dem med case uttryck, ungefär så här:

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

Observera att du bör sätta alla 7-dagars- och alla 12-månadersnamn i skiftlägesuttryck, om du vill att detta ska fungera korrekt när som helst.

Eller ännu bättre, i case uttalanden kan du använda D mönster för bestämma dag och MM mönster för månad. Om du vill se listan över tillgängliga mönster kan du följa länken, jag har postat ovan.



  1. Kopiera data mellan två tabeller i PostgreSQL med dblink.sql

  2. infoga om det inte finns annars välj bara i mysql

  3. MySQL - Välj rad om visas mer än x gånger i annan tabell

  4. Hur man lagrar en IP i mySQL