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?
Problema com Data no DB[RESOLVIDO]
9 Respostas
Como tá o SQUEMA desta sua tabela…
Posta aqui para analizarmos.
[]´s.
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!
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
No Oracle XE eu consegui fazer assim:
SELECT * FROM from DataCadastro where DataCadastro >= ‘01-01-2000’;
Espero ter ajudado!
Abraço!
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.
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
Pessoal blz deu certo. Obrigado a todos
Altere o nome do post, adicionando [RESOLVIDO].
:oops: Desculpe, não tinha visto que você já tinha alterado.
Abraço!