sql >> Databáze >  >> RDS >> PostgreSQL

Postgresql:formát data a výstup v místním jazyce

K první otázce:další mezery jsou z důvodu month a Day vzory jsou:

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

Pokud tedy chcete tyto mezery odstranit, můžete zkusit něco takového:

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

--

Pokud jde o italštinu, možná existují i ​​jiné způsoby, ale toto by také mělo fungovat. Můžete pevně zakódovat italské názvy měsíců a dnů a "přeložit" je pomocí case výraz, něco jako toto:

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

Všimněte si, že pokud chcete, aby to kdykoli fungovalo správně, měli byste do výrazů napsat všech 7 dní a všech 12 měsíců.

Nebo ještě lépe v case příkazy, můžete použít D vzor pro určení dne a MM vzor na měsíc. Pokud chcete vidět seznam dostupných vzorů, můžete následovat odkaz, který jsem zveřejnil výše.



  1. Nelze vytvořit ovladač z NHibernate.Driver.OracleDataClientDriver

  2. Příklad MICROSECOND() – MySQL

  3. Nejčastější dotazy na primární klíč v Oracle s příklady

  4. Nahrání fotografií CodeIgniter