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.