SELECT COM DATAS
Olá, Boa tarde
estou com um problema em um select
ele lista nomes de pessoas conforme sua data de nascimento, se eu escolher um perÃodo de 05/08 Ã 02/09 ele não exibe a pessoa que nasceu no dia 12/08, segue abaixo meu select:
if exists (select d.Nome, d.DataNasc from tabela
where
(Day(d.DataNasc))>=02 and
(Day(d.DataNasc))<=05 and
(MONTH(d.DataNasc))>=08 and
(MONTH(d.DataNasc))<=09)
begin
(select d.Nome, d.DataNasc from tabela as d
where
(Day(d.DataNasc))>=02 and
(Day(d.DataNasc))<=05 and
(MONTH(d.DataNasc))>=08 and
(MONTH(d.DataNasc))<=09)
end
else
print [ô]nao existe[ô]
Alguem por favor pode me ajudar??
estou com um problema em um select
ele lista nomes de pessoas conforme sua data de nascimento, se eu escolher um perÃodo de 05/08 Ã 02/09 ele não exibe a pessoa que nasceu no dia 12/08, segue abaixo meu select:
if exists (select d.Nome, d.DataNasc from tabela
where
(Day(d.DataNasc))>=02 and
(Day(d.DataNasc))<=05 and
(MONTH(d.DataNasc))>=08 and
(MONTH(d.DataNasc))<=09)
begin
(select d.Nome, d.DataNasc from tabela as d
where
(Day(d.DataNasc))>=02 and
(Day(d.DataNasc))<=05 and
(MONTH(d.DataNasc))>=08 and
(MONTH(d.DataNasc))<=09)
end
else
print [ô]nao existe[ô]
Alguem por favor pode me ajudar??
Utilize BETWEEN.
Select d.Nome, d.DataNasc from tabela where CAMPODATA BETWEEN # [Ô] & Format(CDate(DATAINICIO), [Ô]MM/dd/yyyy[Ô]) & [Ô] # And # [Ô] & Format(CDate(DATAFIM), [Ô]MM/dd/yyyy[Ô])
Select d.Nome, d.DataNasc from tabela where CAMPODATA BETWEEN # [Ô] & Format(CDate(DATAINICIO), [Ô]MM/dd/yyyy[Ô]) & [Ô] # And # [Ô] & Format(CDate(DATAFIM), [Ô]MM/dd/yyyy[Ô])
Obrigada pela atenção ALEVALE
fiz da seguinte maneira:
[Ô]Select d.Nome, d.DataNasc, m.Descricao from tabela1[Ô] + _
[Ô]inner join tabel2 as m on m.Cod=d.Cod where [Ô] + _
[Ô]d.DataNasc BETWEEN # [Ô] & Format(CDate(DateTimePicker1.Text), [Ô]MM/dd/yyyy[Ô]) & [Ô] # And # [Ô] & Format(CDate(DateTimePicker2.Text), [Ô]MM/dd/yyyy[Ô])
e dá o seguinte erro :
[Ô]Referência de objeto não definida para uma instância de um objeto[Ô]
Alguem por favor pode me ajudar?
fiz da seguinte maneira:
[Ô]Select d.Nome, d.DataNasc, m.Descricao from tabela1[Ô] + _
[Ô]inner join tabel2 as m on m.Cod=d.Cod where [Ô] + _
[Ô]d.DataNasc BETWEEN # [Ô] & Format(CDate(DateTimePicker1.Text), [Ô]MM/dd/yyyy[Ô]) & [Ô] # And # [Ô] & Format(CDate(DateTimePicker2.Text), [Ô]MM/dd/yyyy[Ô])
e dá o seguinte erro :
[Ô]Referência de objeto não definida para uma instância de um objeto[Ô]
Alguem por favor pode me ajudar?
Consegui desta forma:
[Ô]Select d.Nome, d.DataNasc, m.Descricao from tabela1 as d [Ô] + _
[Ô]inner join tabela2 as m on m.Cod=d.Cod [Ô] + _
[Ô]where d.DataNasc BETWEEN [ô][Ô] & Me.DateTimePicker1.Text & [Ô][ô] And [ô][Ô] & Me.DateTimePicker2.Text & [Ô][ô][Ô]
Porém quando vou filtrar a data, eu tenho que selecionar o dia, mês e ano (ano de nascimento) para que apareça o resultado da consulta, preciso que ao digitar somente o dia e mês apareçam os resultados independente do ano de nascimento.
Alguém sabe me dizer como faço isso?
[Ô]Select d.Nome, d.DataNasc, m.Descricao from tabela1 as d [Ô] + _
[Ô]inner join tabela2 as m on m.Cod=d.Cod [Ô] + _
[Ô]where d.DataNasc BETWEEN [ô][Ô] & Me.DateTimePicker1.Text & [Ô][ô] And [ô][Ô] & Me.DateTimePicker2.Text & [Ô][ô][Ô]
Porém quando vou filtrar a data, eu tenho que selecionar o dia, mês e ano (ano de nascimento) para que apareça o resultado da consulta, preciso que ao digitar somente o dia e mês apareçam os resultados independente do ano de nascimento.
Alguém sabe me dizer como faço isso?
Bom dia
Um dia eu precisei de um relatorio deste e estava com o mesmo problema, então fiz o seguinte, criei um campo MESNASC e joguei o mes do nascimento lá. e os antigos eu fiz uma consulta e dei um update correspondente ao mes.
Hoje seleciono o mes ao inves da data.
Para mim aqui funcionou assim.
eu sei que isso não responde a sua pergunta mas foi uma adaptacao que funcionou.
Um dia eu precisei de um relatorio deste e estava com o mesmo problema, então fiz o seguinte, criei um campo MESNASC e joguei o mes do nascimento lá. e os antigos eu fiz uma consulta e dei um update correspondente ao mes.
Hoje seleciono o mes ao inves da data.
Para mim aqui funcionou assim.
eu sei que isso não responde a sua pergunta mas foi uma adaptacao que funcionou.
Obrigada pela dica ERIVEL TONVGA mas se eu escolher o perÃodo de 05/08 Ã 02/09 não ira aparecer o registro do dia 12/08 por exemplo nesse caso.
Por favor, alguém pode me ajudar?
Por favor, alguém pode me ajudar?
tenta assim
no caso acima vc colocando o dia e o mes dentro do mesmo parenteses pode funcionar ou seja
[Ô]Select d.Nome, d.DataNasc, m.Descricao from tabela1 as d [Ô] + _
[Ô]inner join tabela2 as m on m.Cod=d.Cod [Ô] + _
[Ô]where (Day(d.DataNasc) > = 5 and Month(d.DataNasc) >= 08) And (Day(d.DataNasc) < = 2 And Month(d.DataNasc) <=09)[Ô]
no caso acima vc colocando o dia e o mes dentro do mesmo parenteses pode funcionar ou seja
Obrigada MARCELO-TREZE, mas a consulta não retorna nada ;/
Alguém por favor pode me ajudar?
Fiz um teste,não do seu jeito mas do que faço tanto no vb6 e vb2010.
RsTabela.Open [Ô]Select * From Tabela Where DataNasc Between [ô][Ô] & Format(CDate(Text5.Text), [txt-color=#e80000][Ô]yyyy/MM/dd[Ô]) [/txt-color]& [Ô][ô] and [ô][Ô] & Format(CDate(Text6.Text), [Ô]yyyy/MM/dd[Ô]) & [Ô][ô][Ô], Conexao
RsTabela.Open [Ô]Select * From Tabela Where DataNasc Between [ô][Ô] & Format(Text5.Text,[txt-color=#e80000] [Ô]yyyy/MM/dd[Ô]) [/txt-color]& [Ô][ô] and [ô][Ô] & Format(Text6.Text, [Ô]yyyy/MM/dd[Ô]) & [Ô][ô][Ô], Conexao
Este teste fiz com o Oracle 11g em vb6.
Faça um teste com este código,porém mude a formatação data como acima mas mude este formato caso faça este teste.
Eu no meu modo de entender a data do seu Banco deve ser [txt-color=#e80000] [Ô]yyyy/MM/dd[Ô][/txt-color] .
Tente
Valeu
RsTabela.Open [Ô]Select * From Tabela Where DataNasc Between [ô][Ô] & Format(CDate(Text5.Text), [txt-color=#e80000][Ô]yyyy/MM/dd[Ô]) [/txt-color]& [Ô][ô] and [ô][Ô] & Format(CDate(Text6.Text), [Ô]yyyy/MM/dd[Ô]) & [Ô][ô][Ô], Conexao
RsTabela.Open [Ô]Select * From Tabela Where DataNasc Between [ô][Ô] & Format(Text5.Text,[txt-color=#e80000] [Ô]yyyy/MM/dd[Ô]) [/txt-color]& [Ô][ô] and [ô][Ô] & Format(Text6.Text, [Ô]yyyy/MM/dd[Ô]) & [Ô][ô][Ô], Conexao
Este teste fiz com o Oracle 11g em vb6.
Faça um teste com este código,porém mude a formatação data como acima mas mude este formato caso faça este teste.
Eu no meu modo de entender a data do seu Banco deve ser [txt-color=#e80000] [Ô]yyyy/MM/dd[Ô][/txt-color] .
Tente
Valeu
Obrigada pela atenção OMAR2011
eu tentei dos dois jeitos, o primeiro não retorna nada, o segundo retorna um erro : [ô]Falha ao converter data e/ou hora da cadeia de caracteres[ô]
Alguém mais pode me ajudar?
eu tentei dos dois jeitos, o primeiro não retorna nada, o segundo retorna um erro : [ô]Falha ao converter data e/ou hora da cadeia de caracteres[ô]
Alguém mais pode me ajudar?
Tópico encerrado , respostas não são mais permitidas