Duvida SQL/Oracle

CPC

Membro
Bom dia,

Espero que alguem me possa ajudar!
Tenho a seguinte "Expressão" para fazer search pela db através da data: instr(upper("DATA"),upper(nvl(:P1_REPORT_SEARCH, "DATA"))) > 0

Mas aqui o search é feito através de um textfield (P1_REPORT_SEARCH) e eu quero fazer através de 2 text fields (P1_REPORT_SEARCH e P1_SEARCH) para poder procurar dados introduzidos entre 2 datas.

Alguem tem alguma ideia de como poderei fazer isso?

Cumprimentos
 
Boas.

Não percebi muito bem o que estás a tentar fazer. Tens os campos de datas guardados como varchar? :s

De qq maneira ficam uns exemplos, se não for isso depois explica melhor o que precisas.

Pesquisa por data:
Código:
select 
  * 
from 
  [tabela] 
where 
  [campo_de_data] = to_date(p1_report_search,'dd-mm-yyyy');

entre datas:
Código:
select 
 * 
from 
  [tabela] 
where 
  [campo_de_data] between to_date(p1_report_search,'dd-mm-yyyy') and to_date(p2_report_search,'dd-mm-yyyy');

ou então:
Código:
select 
  * 
from 
  [tabela] 
where 
  [campo_de_data] >= to_date(p1_report_search,'dd-mm-yyyy') 
and 
  [campo_de_data] <= to_date(p2_report_search,'dd-mm-yyyy');
 
Eu estou a usar o Oracle 10g express edition.

E basicamente eu estou a tentar fazer uma procura entre 2 datas. Introduzo a data de "inicio" e a data de "fim" e é mostrado todas as datas entre essas 2.
O código eu ja tenho:

select*
from tabela
where
data between :P1_REPORT_SEARCH and :P1_SEARCH

A variavel data está com o formato 'date' a e não com 'varchar2'
Na linha de comando funciona às mil maravilhas. Agora quando chega à aplicação, não funciona.. lol Será que estou a introduzir o code no local errado?
 
A pergunta se estavas a guardar o campo de data como texto foi devido ao select que mostraste.
Tenho a seguinte "Expressão" para fazer search pela db através da data: instr(upper("DATA"),upper(nvl(:P1_REPORT_SEARCH, "DATA"))) > 0

Isso para campos de data não faz grande sentido. Mas adiante, convém saber:

- Em que linguagem estás a programar?
- Mete aí o código que usas para aceder à bd, e não apenas o select.
- E como disse o NQ, especifica melhor o que está a correr mal.

Sem esses dados é complicado ajudar.

Cumps
 
Back
Topo