Fórum Consulta com Data no Oracle #528982
17/08/2015
0
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
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
Curtir tópico
+ 1
Responder
Posts
03/09/2015
Hector Figueroa
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:
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
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)