Problema com Data no DB[RESOLVIDO]  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
leandro-maanaim
JavaEvangelist
[Avatar]

Membro desde: 04/02/2009 13:20:15
Mensagens: 303
Localização: Domingos Martins
Offline

pessoal criei uma tabela com um campo DataCadastro do tipo Date mais quando eu dou uma consulta tipo.. select * from DataCadastro where DataCadastro >= 2000 nao funciona pq?

This message was edited 1 time. Last update was at 19/03/2010 12:29:50


Nunca desista, se pessoas, amigos, familiares, namorados, te desapontarem, não desista, lute e mostre que você foi capaz.
[Email]
Diego Marinho
JavaChild

Membro desde: 21/02/2008 14:46:41
Mensagens: 130
Localização: Recife
Offline

Como tá o SQUEMA desta sua tabela....
Posta aqui para analizarmos.

[]´s.

This message was edited 1 time. Last update was at 19/03/2010 10:09:15


Keep my head in clouds.
[Email] [MSN]
renanedpedroso
JavaTeenager
[Avatar]

Membro desde: 17/03/2010 10:55:10
Mensagens: 180
Localização: Poços de Caldas / MG
Offline

Qual banco de dados você está utilizando?

Se estiver utilizando MySQL você poderá fazer assim:

SELECT * FROM from DataCadastro where DataCadastro >= '2000-01-01';

Espero ter ajudado!

Abraço!

This message was edited 1 time. Last update was at 19/03/2010 10:40:53


Renan Eduardo Pedroso
Analista e Desenvolvedor Java
[MSN]
fjfj
Debugger

Membro desde: 24/02/2010 11:44:30
Mensagens: 68
Localização: Sertãozinho / SP
Offline

leandro-maanaim wrote:pessoal criei uma tabela com um campo DataCadastro do tipo Date mais quando eu dou uma consulta tipo.. select * from DataCadastro where DataCadastro >= 2000 nao funciona pq?

Normalmente vc tem que passar todo o parâmetro da data... mas aí conta o tipo de BD usado, se for MySql ou Oracle!!
**********Se caso for MySql faz assim*************
select *
from "nome da tabela"
where datacadastro >= 30-01-2010

Agora, se for Oracle, não tem muita certeza, mas acho que é assim
select *
from "nome da tabela"
where datacadastro >= 30-jan-2010

No caso do BD se Oracle, faça o teste usando o hífen ou a barra" \ ", pois não me recordo!!!

Abraço

This message was edited 1 time. Last update was at 19/03/2010 10:42:34

renanedpedroso
JavaTeenager
[Avatar]

Membro desde: 17/03/2010 10:55:10
Mensagens: 180
Localização: Poços de Caldas / MG
Offline

No Oracle XE eu consegui fazer assim:

SELECT * FROM from DataCadastro where DataCadastro >= '01-01-2000';

Espero ter ajudado!

Abraço!

Renan Eduardo Pedroso
Analista e Desenvolvedor Java
[MSN]
Diego Marinho
JavaChild

Membro desde: 21/02/2008 14:46:41
Mensagens: 130
Localização: Recife
Offline

fjfj wrote:
leandro-maanaim wrote:pessoal criei uma tabela com um campo DataCadastro do tipo Date mais quando eu dou uma consulta tipo.. select * from DataCadastro where DataCadastro >= 2000 nao funciona pq?

Normalmente vc tem que passar todo o parâmetro da data... mas aí conta o tipo de BD usado, se for MySql ou Oracle!!
**********Se caso for MySql faz assim*************
select *
from "nome da tabela"
where datacadastro >= 30-01-2010

Agora, se for Oracle, não tem muita certeza, mas acho que é assim
select *
from "nome da tabela"
where datacadastro >= 30-jan-2010

No caso do BD se Oracle, faça o teste usando o hífen ou a barra" \ ", pois não me recordo!!!

Abraço


Só corrigindo, se me permite:

Você pode em fazer a consulta do tipo:

SELECT * FROM POST WHERE POST_DT_CADASTRO > 2000

isso vai depender do tipo usado no atributo ou entidade, que no meu caso foi um "DateTime" - PL do MySQL.

Em outros bancos, se for um tipo similar a esse que falei, vc pode sim, usar apenas ANO ou DIA ou MÊS para usar sem sequer passar como parâmetro na cláusula where do select todo o argumento, que no seu exemplo foi:

select *
from "nome da tabela"
where datacadastro >= 30-01-2010.

Agora como vc informou, colocando na cláusula toda a descrição da "máscara" do tipo do dado do atributo, é um lance mais seguro e o mais recomendável.

Mas não restringe a usar somente o ano como o colega informou acima, pois isso é um recursos que qualquer SGBD de qualquer banco consegue realizar.

OK.

[]´s.

This message was edited 4 times. Last update was at 19/03/2010 11:22:02


Keep my head in clouds.
[Email] [MSN]
fjfj
Debugger

Membro desde: 24/02/2010 11:44:30
Mensagens: 68
Localização: Sertãozinho / SP
Offline

Diego Marinho wrote:
fjfj wrote:
leandro-maanaim wrote:pessoal criei uma tabela com um campo DataCadastro do tipo Date mais quando eu dou uma consulta tipo.. select * from DataCadastro where DataCadastro >= 2000 nao funciona pq?

Normalmente vc tem que passar todo o parâmetro da data... mas aí conta o tipo de BD usado, se for MySql ou Oracle!!
**********Se caso for MySql faz assim*************
select *
from "nome da tabela"
where datacadastro >= 30-01-2010

Agora, se for Oracle, não tem muita certeza, mas acho que é assim
select *
from "nome da tabela"
where datacadastro >= 30-jan-2010

No caso do BD se Oracle, faça o teste usando o hífen ou a barra" \ ", pois não me recordo!!!

Abraço



Só corrigindo, se me permite:

Você pode em fazer a consulta do tipo:

SELECT * FROM POST WHERE POST_DT_CADASTRO > 2000

isso vai depender do tipo usado no atributo ou entidade, que no meu caso foi um "DateTime" - PL do MySQL.

Em outros bancos, se for um tipo similar a esse que falei, vc pode sim, usar apenas ANO ou DIA ou MÊS para usar sem sequer passar como parâmetro na cláusula where do select todo o argumento, que no seu exemplo foi:

select *
from "nome da tabela"
where datacadastro >= 30-01-2010.


Agora como vc informou, colocando na cláusula toda a descrição da "máscara" do tipo do dado do atributo, é um lance mais seguro e o mais recomendável.

Mas não restringe a usar somente o ano como o colega informou acima, pois isso é um recursos que qualquer SGBD de qualquer banco consegue realizar.

OK.

[]´s.


Vlw pela dica!!!
abraço
leandro-maanaim
JavaEvangelist
[Avatar]

Membro desde: 04/02/2009 13:20:15
Mensagens: 303
Localização: Domingos Martins
Offline

Pessoal blz deu certo. Obrigado a todos

Nunca desista, se pessoas, amigos, familiares, namorados, te desapontarem, não desista, lute e mostre que você foi capaz.
[Email]
renanedpedroso
JavaTeenager
[Avatar]

Membro desde: 17/03/2010 10:55:10
Mensagens: 180
Localização: Poços de Caldas / MG
Offline

Altere o nome do post, adicionando [RESOLVIDO].

Renan Eduardo Pedroso
Analista e Desenvolvedor Java
[MSN]
renanedpedroso
JavaTeenager
[Avatar]

Membro desde: 17/03/2010 10:55:10
Mensagens: 180
Localização: Poços de Caldas / MG
Offline

Desculpe, não tinha visto que você já tinha alterado.

Abraço!

Renan Eduardo Pedroso
Analista e Desenvolvedor Java
[MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team