GPO ( Grupo de Profissionais Oracle )
A maior comunidade Oracle do Brasil !

Home Fóruns SQL e PL/SQL Ano por extenso

Marcado: 

Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Autor
    Posts
  • #149262
    Motta
    Participante

    Simples , em tese

    SELECT TO_CHAR(SYSDATE, 'YEAR','NLS_DATE_LANGUAGE=PORTUGUESE') FROM DUAL;
    

    Deveria retornar Dois mil e vinte e um. Mas retorna TWENTY TWENTY-ONE

    Versão 11 Nls da sessão está inglês como os do Banco

    <code class="hljs language-sql">nls_language        AMERICAN    AMERICAN
    nls_date_language   
    

    O que pode estar errado ?

     

    Fonte

    #149286

    Como ** quase sempre Acontece **, a resposta repousa na documentação Oracle , online em https://docs.oracle.com/cd/E11882_01/server.112/e41084/sql_elements004.htm#SQLRF00210 no caso – aí está escrito (ênfase com negrito é minha) :

    “The language in which these values are returned is specified either explicitly with the initialization parameter NLS_DATE_LANGUAGE or implicitly with the initialization parameter NLS_LANGUAGE. The values returned by the YEAR and SYEAR datetime format elements are always in English.”

    OU SEJA, Ano especificamente é sempre Soletrado em Inglês , tanto ao usar YEAR quanto SYEAR, confere ?????

    []s

    Chiappa

    #149287
    Motta
    Participante

    Ou seja , nada errado , não atentei para esta “doc” ontem.

    Um simples crlf …

    Valeu.

    #149289

    Blz ? Sim, exatamente, working as designed…. E, no caso, comofaz pra obter número por extenso em pt-br ? Como não vem uma rotina nativa pra isso no Oracle, vc Usa/Adapta uma das muitas já escritas, como http://lib.seven.com.br/imprimir_artigo.asp?codartigo=976 , https://sqlshow.wordpress.com/2013/05/11/oracle-numero-por-extenso/ , https://www.profissionaloracle.com.br/2014/09/27/numero-por-extenso-monetario-e-calculo-de-formulas-matematicas-no-oracle/ aqui mesmo no Fórum, entre muitas outras….

    []s

    Chiappa

    #149298
    Motta
    Participante

    Uso uma para valores em Reais , esta foi uma curiosidade que vi , não era uma necessidade.

     

    #149301

    Okdoc : se/quando no futuro vc tiver necessidade de soletrar/escrever por extenso um número que não seja monetário e portanto não seja dividido em Reais e Centavos, já sabe de onde buscar/adaptar….

     

    Abraços,

     

    Chiappa

Visualizando 6 posts - 1 até 6 (de 6 do total)
  • Você deve fazer login para responder a este tópico.