Pesquisa SQL do Oracle para o formato da data

Eu sempre fico confuso com o formato de data na consulta SQL ORACLE e passar minutos juntos para o google, alguém pode me explicar a maneira mais simples de lidar quando temos um formato diferente de data na tabela de banco de dados ?

por exemplo, eu tenho uma coluna de data como ES_DATE, detém dados como 27-abr-12 11.52.48.294030000 AM do tipo de dados TIMESTAMP(6) com Fuso horário LOCAL.

enter image description here

escrevi uma consulta simples para obter dados para esse dia em particular e não me devolve nada. Poder alguém me explicou ?

select * from table
where es_date=TO_DATE('27-APR-12','dd-MON-yy')

ou

select * from table where es_date = '27-APR-12';
Author: user2246725, 2013-07-05

2 answers

to_date() retorna uma data às 00: 00: 00, então você precisa "remover" os minutos da data que você está comparando com:

select * 
from table
where trunc(es_date) = TO_DATE('27-APR-12','dd-MON-yy')

Você provavelmente quer criar um índice em {[[2]} se isso é algo que você está fazendo regularmente.

O literal '27-APR-12' pode falhar muito facilmente se o formato de data padrão for alterado para algo diferente. Então certifique-se que você sempre usa to_date() com uma máscara de formato apropriado (ou um literal ANSI: date '2012-04-27')

Apesar de teres feito bem ao usar to_date() e não contando com a conversão do tipo de dados implict, o seu uso de to_date () ainda tem uma desvantagem sutil por causa do formato 'dd-MON-yy'.

Com uma configuração diferente da língua, isto pode facilmente falhar, por exemplo TO_DATE('27-MAY-12','dd-MON-yy') quando o NLS_LANG está definido para o alemão. Evite qualquer coisa no formato que possa ser diferente em uma língua diferente. Utilizando um ano de quatro dígitos e apenas números, por exemplo 'dd-mm-yyyy' ou 'yyyy-mm-dd'

 36
Author: a_horse_with_no_name, 2013-07-04 21:58:38

Se estiver a usar o mesmo formato de data e tiver a opção consultar onde a data está no oracle:

   select count(id) from Table_name where TO_DATE(Column_date)='07-OCT-2015';

To_DATE fornecido pela oracle

 2
Author: abhishek ringsia, 2015-10-07 12:48:22