SELECT COM DATAS

THAINE 15/08/2012 14:16:52
#407982
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??
ALEVALE 16/08/2012 09:00:56
#408001
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[Ô])
THAINE 20/08/2012 09:19:52
#408182
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?
THAINE 20/08/2012 10:05:41
#408188
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?
ERIVELTONVGA 20/08/2012 10:43:06
#408190
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.
THAINE 20/08/2012 11:19:52
#408196
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?
MARCELO.TREZE 20/08/2012 13:28:28
#408210
tenta assim

[Ô]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

THAINE 20/08/2012 15:05:38
#408220
Obrigada MARCELO-TREZE, mas a consulta não retorna nada ;/
THAINE 22/08/2012 10:50:48
#408326
Alguém por favor pode me ajudar?
OMAR2011 22/08/2012 11:14:01
#408333
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
THAINE 23/08/2012 09:00:17
#408407
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?
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas