Como posso definir um formato de data e hora personalizado no Oracle SQL Developer?


198

Por padrão, o desenvolvedor do Oracle SQL exibe os valores de data como 15-NOV-11. Gostaria de ver a parte do tempo (hora / minuto / segundo) por padrão.

Existe uma maneira de configurar isso no Oracle SQL Developer?


Eu tenho problemas com isso antes. Posso corrigi-lo para uma sessão, mas depois que fecho o SQL Developer e o reinicio novamente, perco a configuração. Portanto, essa solução que posso fornecer não é permanente.
Brett Walker

Você pode adicionar uma resposta? @BrettWalker, é melhor que nada.
ComfortablyNumb

5
Que padrão ridículo para um tipo de dados chamado "DATA" que realmente armazena precisão no segundo. Isso deve ter desperdiçado muito tempo das pessoas.
WW.

Respostas:


398

Você pode alterar isso nas preferências:

  1. No menu do Oracle SQL Developer, vá para: Ferramentas > Preferências .
  2. Na caixa de diálogo Preferências , selecione Banco de dados > NLS no painel esquerdo.
  3. Na lista de parâmetros NLS, digite DD-MON-RR HH24:MI:SSo campo Formato da Data .
  4. Salve e feche a caixa de diálogo, pronto!

Aqui está uma captura de tela:

Alterando as preferências de formato de data no Oracle SQL Developer


1
Estou usando o SQLDeveloper no linux e essa configuração não funciona para mim .. de alguma outra maneira?
Filipe

3
Não importa o formato que eu coloquei lá, ele está sendo ignorado. Eu vejo isso sendo gerado no sql: to_date ('02 -OCT-14 ',' YYYY-MM-DD '), agora meu sql está simplesmente quebrado.
James Watkins

esse formato não funcionou para mim, talvez por causa das diferenças de localidade da plataforma ... veja minha resposta se essa não funcionar #
Donatello

2
onde esta configuração está armazenada? no DB ou SQL Developer?
Toolkit

44

Eu tropecei neste post enquanto tentava alterar o formato de exibição das datas no sql-developer. Só queria adicionar a isso o que eu descobri:

  • Para alterar o formato de exibição padrão, eu usaria as etapas fornecidas pelo ousoo, por exemplo, Ferramentas> Preferências> ...
  • Mas muitas vezes, eu só quero manter o DEFAULT_FORMAT enquanto modifico o formato apenas durante várias consultas relacionadas. Foi quando eu alterei o formato da sessão com o seguinte:

    alter SESSION set NLS_DATE_FORMAT = 'my_required_date_format'

Por exemplo:

   alter SESSION set NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS' 

26

Com o Oracle SQL Developer 3.2.20.09, consegui definir o formato personalizado para o tipo DATE da seguinte maneira:

Em: Ferramentas> Preferências> Banco de Dados> NLS

Ou: Outils> Preferências> Base de dados> NLS

AAAA-MM-DD HH24: MI: SS

Captura de tela do menu Configurações

Observe que o seguinte formato não funcionou para mim:

DD-MON-RR HH24: MI: SS

Como resultado, ele mantém o formato padrão, sem nenhum erro.


3

Para quem ainda está tendo um problema com isso; Por acaso encontrei esta página do Google ...

Coloque-o assim (Parâmetros NLS) ... ele fica para mim no SQLDeveloper v3.0.04:

DD-MON-YY HH12:MI:SS AM or for 24-Hour, DD-MON-YY HH24:MI:SS 

É importante observar que o token de formato 'AM' foi removido para o formato de 24 horas. Se os tokens 'AM' e 'HH24' forem usados, o 'AM' substituirá o 'HH24'.
Macawm

2

No meu caso, o formato definido em Preferências / Banco de Dados / NLS era [Formato da Data] = RRRR-MM-DD HH24: MI: SSXFF, mas na grade, foram vistos 8 formatos provavelmente padrão RRRR / MM / DD (mesmo sem tempo) O formato foi alterado após alterar a configuração [Formato da data] para: RRRR-MM-DD HH24: MI: SS (sem 'XFF' no final).

Não houve erros, mas o formato com xff no final não funcionou.

Nota: na notação polonesa RRRR significa AAAA


2
TL; DR: sem 'XFF' no final
Robert Andrzejuk 11/09

No Oracle, uma data NÃO possui uma parte fracionária de segundos. Um timestamp sim. Portanto, a Oracle está tentando ser útil, não permitindo que você especifique algo que não funcionará.
Roy Latham

0

Quando copiei o formato da data para o carimbo de data e hora e o usei para a data, ele não funcionou. Mas alterar o formato da data para isso (DD-MON-AA HH12: MI: SS AM) funcionou para mim.

A alteração deve ser feita em Ferramentas-> Preferências-> procurar NLS


0

Vá para Ferramentas> Preferências. Na árvore, selecione Banco de Dados> NLS. Existem três formatos de Data / Hora disponíveis: Data, Data e Hora e TZ. A edição do formato da data produz o efeito desejado.

Como eu disse acima; essa abordagem não me deu uma mudança permanente.


JSYK, você profile pic me lembra om Don Corleone (lugar errado para tal comentário)
Jonathan dos Santos

0

SQL Developer Versão 4.1.0.19

Etapa 1: Vá para Ferramentas -> Preferências

Etapa 2: Selecione Banco de Dados -> NLS

Etapa 3: Vá para o formato de data e insira DD-MON-RR HH24: MI: SS

Etapa 4: Clique em OK.


-1

Eu tenho um problema relacionado que resolvi e queria que as pessoas soubessem sobre minha solução. Usando o SQL Developer, eu exportei de um banco de dados para csv e tentei importá-lo para outro banco de dados. Eu continuava recebendo um erro nos meus campos de data. Meus campos de data estavam no formato Timestamp:

28-JAN-11 03.25.11.000000000 PM

A solução acima (alterando as preferências do NLS) não funcionou para mim quando eu importei, mas finalmente consegui o seguinte:

Na tela Definição da coluna do Assistente de importação, digitei " DD-MON-RR HH.MI.SSXFF AM" na caixa Formatar e finalmente foi importada com sucesso. Infelizmente, tenho dezenas de campos de data e, pelo que sei, não há como aplicar sistematicamente esse formato a todos os campos de data, então eu tive que fazê-lo manualmente ... suspiro. Se alguém souber de uma maneira melhor, ficaria feliz em ouvi-la!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.