Consulta com Data no Oracle

Oracle

17/08/2015

Prezados boa tarde.

Temos uma aplicação desenvolvida em C# está funciona normalmente no SQL SERVER e estamos adaptando-a para funcionar no ORACLE.
Ao fazer um insert em uma tabela que contém Data/Hora gravamos no formato: 'yyyy/mm/dd hh24:mi:ss'.

Executamos no SQL DEVELOPER conectado em nosso banco o comando: ALTER SESSION SET nls_date_format='yyyy/mm/dd hh24:mi:ss';


Nosso problema está no Select, veja:

SELECT *
FROM EventoArq
WHERE DataHora = '2015/08/17 15:44:50'
AND SID = 1
AND AID = 2
AND BID = 1
AND EV = 1

Ocorre o erro: ORA-01861: literal does not match format string.

Li que deve ser feito da seguinte forma:

SELECT *
FROM EventoArq
WHERE DataHora = TO_DATE('2015/08/17 16:06:08', 'yyyy/mm/dd hh24:mi:ss')
AND SID = 1
AND AID = 2
AND BID = 1
AND EV = 1


Pergunta: Executamos o ALTER SESSION SET nls_date_format, mas não resolveu. Há uma forma de configurar o ORACLE para que ele aceite a nível de tablespace ou a nível de banco minha formatação 'yyyy/mm/dd hh24:mi:ss' para que não seja necessário passar em todos os selects da apliação?

Desde já agradeço
Eduardo Agostinho

Eduardo Agostinho

Curtidas 1

Respostas

Hector Figueroa

Hector Figueroa

17/08/2015

Eduardo,
trabalho com c# + Oracle, quando eu faço uma consulta com data não preciso espeficicar o formato da hora, agora não sei se o meu banco já estava configurado pra aceitar uma consulta direto, eu acredito que não, segue um exemplo de como seria seguindo a sua consulta:

SELECT * 
FROM EventoArq 
WHERE DataHora = :data
 AND SID = 1 
 AND AID = 2 
 AND BID = 1 
 AND EV = 1
GOSTEI 0
POSTAR