Select date com operacao[RESOLVIDO]

bom e o seguinte, o meu select deve retornar somente as datas que tenham 15 dias ou mais no banco de dados,
mas nao estou conseguindo fazer essa comparacao no select, esta dando uma exeption

e se eu coloco Date data = new Date… ele da erro de ambiguidade

SimpleDateFormat dataformatada = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); String dat = dataformatada.format(c.getTime()); stmt = con.createStatement(); ResultSet rs = stmt.executeQuery ("select * from app.emprestimos where '"+dat+"' - data >= 15");

Oi,

Não seria: “data > sysdate + 15” ?

Tchauzin!

tem algo mais simples que se faz no próprio sql, você pode pedir a data entre agora e 15 dias assim:

select * from app.emprestimos where dat between (now()) and (now() - interval 15 day);

daí é só você fazer o DateFormat dele e tacar onde você quiser.

Flw

[quote=andre.froes]tem algo mais simples que se faz no próprio sql, você pode pedir a data entre agora e 15 dias assim:

select * from app.emprestimos where dat between (now()) and (now() - interval 15 day);

daí é só você fazer o DateFormat dele e tacar onde você quiser.

Flw[/quote]

Oi,

Apenas complementando a sua ideia de utilizar between (Caso alguem não o conheça):

SQL Between syntax:

SELECT Column1, Column2, Column3, ... FROM Table1 WHERE Column1 BETWEEN Value1 AND Value2

Obs: Os 2 valores (value1 e Value2) podem ser datas, numeros ou apenas texto! No nosso caso,
estamos trabalhando com datas.

Continuando… Imagine que você tenha a seguinte informação em sua tabela:

Colunas <PrimeiroNome> <UltimoNome> <Email> <DATA> <Telefone>

Lina Ferreira <sem_email> 2/4/1968 xxx
Teste testinho teste@teste 4/4/1974 aaa
Teste1 <...> <...> 5/24/1978 bbb
Teste2 <...> <...> 20/10/1980 ccc

Você quer executar um select para buscar datas entre ‘1/1/1975’ e ‘1/1/2004’, poderá ser feito:

SELECT *
FROM
WHERE DATA BETWEEN ‘1/1/1975’ AND ‘1/1/2004’

Resultado:

PrimeiroNome   UltimoNome     Email               DATA         Telefone
Teste1                                                           5/24/1978   bbb
Teste2                                                           20/10/1980 ccc

Tchauzin!

bom acho que nao expliquei bem o que eu quero, a tabela funciona mais ou menos assim, o usuario empresta um livro e nessa tabela emprestimos fika no campo data a data que foi realizado o emprestimo, no entanto esse emprestimo so pode durar 15 dias no maximo, entao esse select serve pra mim pegar na tabela de emprestimos somente os que estiverem emprestados a 15 dias ou mais, para mim saber qual livro esta atrasado naquele momento.

por isso que eu fiz la no sql a data de hoje - data >= 15, pq o que retornar 15 ou mais, serao os livros que estao atrasados