SELECT COM DATAS
Vou ficar lhe devendo essa, me parece que no SQLServerl tem que aplicar alguns parâmetros para realizar essa consulta, e eu não trabalho com SQLServer. Creio que alguns de nossos colegas aqui vão poder lhe ajudar.
Tudo bem
agradeço sua atenção
ate mais..
agradeço sua atenção
ate mais..
Ola Thaine,
Não tenho experiência ainda com o Sql Server pois minhas aplicações tão com access, mas assim q tiver tempo vou adotar o sql server.
Mas vou lhe passar minha experiência.
1 - Para o SELECT utilizo da seguinte forma na cláusula de condições.
WHERE FORMAT(TABELA.data,[ô]dd/mm/yyyy[ô]) < [ô] [Ô] & Format(Date, [Ô]dd/mm/yyyy[Ô]) & [Ô] [ô]
Não utilizei operador, mas ao utilizar o operador AND (função de e ), você só terá resposta a sua consulta se todas as condições forem atendidas. Com OR (função de ou ) você dá opção, pois se uma condição atender a sua solicitação haverá resultado.
Além disso utilizo IIF para retornar algumas informações especiais:
SELECT IIF((CONDIÇÃO ou um SELECT MESMO),[Ô]VALOR SE VERDADEIRO[Ô],[Ô]VALOR SE FALSO[Ô]) as CAMPO
Não estou em casa para ver o exemplo enviado acima, mas espero ajudar.
Att.,
Eliseu
Não tenho experiência ainda com o Sql Server pois minhas aplicações tão com access, mas assim q tiver tempo vou adotar o sql server.
Mas vou lhe passar minha experiência.
1 - Para o SELECT utilizo da seguinte forma na cláusula de condições.
WHERE FORMAT(TABELA.data,[ô]dd/mm/yyyy[ô]) < [ô] [Ô] & Format(Date, [Ô]dd/mm/yyyy[Ô]) & [Ô] [ô]
Não utilizei operador, mas ao utilizar o operador AND (função de e ), você só terá resposta a sua consulta se todas as condições forem atendidas. Com OR (função de ou ) você dá opção, pois se uma condição atender a sua solicitação haverá resultado.
Além disso utilizo IIF para retornar algumas informações especiais:
SELECT IIF((CONDIÇÃO ou um SELECT MESMO),[Ô]VALOR SE VERDADEIRO[Ô],[Ô]VALOR SE FALSO[Ô]) as CAMPO
Não estou em casa para ver o exemplo enviado acima, mas espero ajudar.
Att.,
Eliseu
Ajudo sim
porém o meu select
select d.Cod, d.Nome, (case when d.DataNasc>[ô]1899-12-30[ô] then (DAY (d.DataNasc)) else null end) as DataNasc,
d.Esposo,(case when d.DataNascEsposo>[ô]1899-12-30[ô] then (DAY (d.DataNascEsposo)) else null end) as DataNascEsposo,
d.Dependente1,(case when d.DataNasc1>[ô]1899-12-30[ô] then (DAY (d.DataNasc1)) else null end) as DataNasc1,
d.Dependente2,(case when d.DataNasc2>[ô]1899-12-30[ô] then (DAY (d.DataNasc2)) else null end) as DataNasc2,
d.Dependente3,(case when d.DataNasc3>[ô]1899-12-30[ô] then (DAY (d.DataNasc3)) else null end) as DataNasc3,
m.Descricao
from Dizimistas as d
inner join Missa as m on d.CodMissa=m.Cod where
(DAY (d.DataNasc))between 01 and 7 or
(DAY (d.DataNascEsposo)) between 01 and 15 or
(DAY (d.DataNasc1)) between 01 and 15 or
(DAY (d.DataNasc2)) between 01 and 15 or
(DAY (d.DataNasc3)) between 01 and 15
não filtra os dias, ele exibe todos os registros
Alguem tem alguma ideia do q pode estar errado?
porém o meu select
select d.Cod, d.Nome, (case when d.DataNasc>[ô]1899-12-30[ô] then (DAY (d.DataNasc)) else null end) as DataNasc,
d.Esposo,(case when d.DataNascEsposo>[ô]1899-12-30[ô] then (DAY (d.DataNascEsposo)) else null end) as DataNascEsposo,
d.Dependente1,(case when d.DataNasc1>[ô]1899-12-30[ô] then (DAY (d.DataNasc1)) else null end) as DataNasc1,
d.Dependente2,(case when d.DataNasc2>[ô]1899-12-30[ô] then (DAY (d.DataNasc2)) else null end) as DataNasc2,
d.Dependente3,(case when d.DataNasc3>[ô]1899-12-30[ô] then (DAY (d.DataNasc3)) else null end) as DataNasc3,
m.Descricao
from Dizimistas as d
inner join Missa as m on d.CodMissa=m.Cod where
(DAY (d.DataNasc))between 01 and 7 or
(DAY (d.DataNascEsposo)) between 01 and 15 or
(DAY (d.DataNasc1)) between 01 and 15 or
(DAY (d.DataNasc2)) between 01 and 15 or
(DAY (d.DataNasc3)) between 01 and 15
não filtra os dias, ele exibe todos os registros
Alguem tem alguma ideia do q pode estar errado?
tente assim
tente ai
select d.Cod, d.Nome, d.DataNasc, d.Dependente1, d.DataNasc1, d.Dependente2,
d.Esposo, d.DataNascEsposo, d.DataNasc2, d.Dependente3, d.DataNasc3,m.Descricao
from Dizimistas as d
inner join Missa as m on d.CodMissa=m.Cod where
((DAY (d.DataNasc) between 01 and 05) And (MONTH(d.DataNasc) = 1)) Or
((day (d.DataNasc1) between 01 and 05) And (MONTH(d.DataNasc1) = 1)) Or
((day (d.DataNasc2) between 01 and 05) And (MONTH(d.DataNasc2)) = 1)) Or
((day (d.DataNasc3) between 01 and 05) And (MONTH(d.DataNasc3)) = 1)) Or
((day (d.DataNascEsposo) between 01 and 11) And (MONTH(d.DataNascEsposo) between 01 and 06))
tente ai
MARCELO-TREZE eu tentei desse jeito que voce me passou.. e add o between porem..
ele ainda exibe uma data nada a ve com o periodo escolhido
((DAY (d.DataNasc) between 01 and 05) And (MONTH(d.DataNasc) between 01 and 05)) Or
((DAY (d.DataNascEsposo)) between 01 and 15 And (MONTH(d.DataNascEsposo) between 01 and 05)) Or
((DAY (d.DataNasc1)) between 01 and 15 And (MONTH(d.DataNasc1) between 01 and 05)) Or
((DAY (d.DataNasc2)) between 01 and 15 And (MONTH(d.DataNasc2)between 01 and 05)) Or
((DAY (d.DataNasc3)) between 01 and 15And (MONTH(d.DataNasc3)between 01 and 05))
ele ainda exibe uma data nada a ve com o periodo escolhido
((DAY (d.DataNasc) between 01 and 05) And (MONTH(d.DataNasc) between 01 and 05)) Or
((DAY (d.DataNascEsposo)) between 01 and 15 And (MONTH(d.DataNascEsposo) between 01 and 05)) Or
((DAY (d.DataNasc1)) between 01 and 15 And (MONTH(d.DataNasc1) between 01 and 05)) Or
((DAY (d.DataNasc2)) between 01 and 15 And (MONTH(d.DataNasc2)between 01 and 05)) Or
((DAY (d.DataNasc3)) between 01 and 15And (MONTH(d.DataNasc3)between 01 and 05))
BOM VEJA COM ESTA ALTERAÇÃO
bom eu só coloquei alguns parenteses nos lugares corretos teste
((DAY (d.DataNasc) between 01 and 05) And (MONTH(d.DataNasc) between 01 and 05)) Or
((DAY (d.DataNascEsposo) between 01 and 15) And (MONTH(d.DataNascEsposo) between 01 and 05)) Or
((DAY (d.DataNasc1) between 01 and 15) And (MONTH(d.DataNasc1) between 01 and 05)) Or
((DAY (d.DataNasc2) between 01 and 15) And (MONTH(d.DataNasc2) between 01 and 05)) Or
((DAY (d.DataNasc3) between 01 and 15) And (MONTH(d.DataNasc3) between 01 and 05))
bom eu só coloquei alguns parenteses nos lugares corretos teste
MARCELO-TREZE
continua com o mesmo erro..
agora estou tentando colocar uma condição para cada data
exists (select (DAY (d.DataNasc)) where (DAY (d.DataNasc))>=01 and (DAY (d.DataNasc))<=15)
se existir ele retorna e se não existir, como faço para retornar nulo?
continua com o mesmo erro..
agora estou tentando colocar uma condição para cada data
exists (select (DAY (d.DataNasc)) where (DAY (d.DataNasc))>=01 and (DAY (d.DataNasc))<=15)
se existir ele retorna e se não existir, como faço para retornar nulo?
Ate que enfim consigui
aqui está o codigo pra quem se interessa
if exists
(Select (DAY(d.DataNasc)),(month(d.DataNasc)), d.Nome, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where (DAY(d.DataNasc))>=01 and (DAY(d.DataNasc))<=30 and (month(d.DataNasc))>=01 and (month(d.DataNasc))<=12)
begin
(Select d.DataNasc , d.Nome , m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa where(DAY(d.DataNasc))>=01 and (DAY(d.DataNasc))<=30 and (month(d.DataNasc))>=01 and (month(d.DataNasc))<=12)
end
if exists
(Select (DAY(d.DataNascEsposo)),(month(d.DataNascEsposo)), d.Esposo, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where (DAY(DataNascEsposo))>=01 and (DAY(DataNascEsposo))<=30 and (month(d.DataNascEsposo))>=01 and (month(d.DataNascEsposo))<=12)
begin
(Select (case when d.DataNascEsposo>[ô]1899-12-30[ô] then d.DataNascEsposo else null end) as DataNascEsposo , d.Esposo , m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where(DAY(d.DataNascEsposo))>=01 and (DAY(d.DataNascEsposo))<=30 and (Month(d.DataNascEsposo))>=01 and (Month(d.DataNascEsposo))<=12)
end
if exists
(Select (DAY(d.DataNasc1)),(month(d.DataNasc1)), d.Dependente1, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa where (DAY(d.DataNasc1))>=01 and (DAY(d.DataNasc1))<=30 and (month(d.DataNasc1))>=01 and (month(d.DataNasc1))<=12)
begin
(Select (case when d.DataNasc1>[ô]1899-12-30[ô] then d.DataNasc1 else null end) as DataNasc1, d.Dependente1, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where(DAY(d.DataNasc1))>=01 and (DAY(d.DataNasc1))<=30 and (month(d.DataNasc1))>=01 and (month(d.DataNasc1))<=12)
end
if exists
(Select (DAY(d.DataNasc2)),(Month(d.DataNasc2)), d.Dependente2, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa where(DAY(d.DataNasc2))>=01 and (DAY(d.DataNasc2))<=15 and (Month(d.DataNasc2))>=01 and (Month(d.DataNasc2))<=05)
begin
(Select (case when d.DataNasc2>[ô]1899-12-30[ô] then d.DataNasc2 else null end)as DataNasc2 , d.Dependente2 , m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where (DAY(d.DataNasc2))>=01 and (DAY(d.DataNasc2))<=30 and (Month(d.DataNasc2))>=01 and (Month(d.DataNasc2))<=12)
end
if exists
(Select (DAY(d.DataNasc3)),(Month(d.DataNasc3)), d.Dependente3, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where (DAY(d.DataNasc3))>=01 and (DAY(d.DataNasc3))<=30 and (Month(d.DataNasc3))>=01 and (Month(d.DataNasc3))<=12)
begin
(Select (case when d.DataNasc3>[ô]1899-12-30[ô] then d.DataNasc3 else null end) as DataNasc3 , d.Dependente3 , m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where (DAY(DataNasc3))>=01 and (DAY(DataNasc3))<=30 and (Month(d.DataNasc3))>=01 and (Month(d.DataNasc3))<=12)
end
aqui está o codigo pra quem se interessa
if exists
(Select (DAY(d.DataNasc)),(month(d.DataNasc)), d.Nome, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where (DAY(d.DataNasc))>=01 and (DAY(d.DataNasc))<=30 and (month(d.DataNasc))>=01 and (month(d.DataNasc))<=12)
begin
(Select d.DataNasc , d.Nome , m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa where(DAY(d.DataNasc))>=01 and (DAY(d.DataNasc))<=30 and (month(d.DataNasc))>=01 and (month(d.DataNasc))<=12)
end
if exists
(Select (DAY(d.DataNascEsposo)),(month(d.DataNascEsposo)), d.Esposo, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where (DAY(DataNascEsposo))>=01 and (DAY(DataNascEsposo))<=30 and (month(d.DataNascEsposo))>=01 and (month(d.DataNascEsposo))<=12)
begin
(Select (case when d.DataNascEsposo>[ô]1899-12-30[ô] then d.DataNascEsposo else null end) as DataNascEsposo , d.Esposo , m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where(DAY(d.DataNascEsposo))>=01 and (DAY(d.DataNascEsposo))<=30 and (Month(d.DataNascEsposo))>=01 and (Month(d.DataNascEsposo))<=12)
end
if exists
(Select (DAY(d.DataNasc1)),(month(d.DataNasc1)), d.Dependente1, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa where (DAY(d.DataNasc1))>=01 and (DAY(d.DataNasc1))<=30 and (month(d.DataNasc1))>=01 and (month(d.DataNasc1))<=12)
begin
(Select (case when d.DataNasc1>[ô]1899-12-30[ô] then d.DataNasc1 else null end) as DataNasc1, d.Dependente1, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where(DAY(d.DataNasc1))>=01 and (DAY(d.DataNasc1))<=30 and (month(d.DataNasc1))>=01 and (month(d.DataNasc1))<=12)
end
if exists
(Select (DAY(d.DataNasc2)),(Month(d.DataNasc2)), d.Dependente2, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa where(DAY(d.DataNasc2))>=01 and (DAY(d.DataNasc2))<=15 and (Month(d.DataNasc2))>=01 and (Month(d.DataNasc2))<=05)
begin
(Select (case when d.DataNasc2>[ô]1899-12-30[ô] then d.DataNasc2 else null end)as DataNasc2 , d.Dependente2 , m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where (DAY(d.DataNasc2))>=01 and (DAY(d.DataNasc2))<=30 and (Month(d.DataNasc2))>=01 and (Month(d.DataNasc2))<=12)
end
if exists
(Select (DAY(d.DataNasc3)),(Month(d.DataNasc3)), d.Dependente3, m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where (DAY(d.DataNasc3))>=01 and (DAY(d.DataNasc3))<=30 and (Month(d.DataNasc3))>=01 and (Month(d.DataNasc3))<=12)
begin
(Select (case when d.DataNasc3>[ô]1899-12-30[ô] then d.DataNasc3 else null end) as DataNasc3 , d.Dependente3 , m.Descricao from Dizimistas as d inner join Missa as m on m.Cod=d.CodMissa
where (DAY(DataNasc3))>=01 and (DAY(DataNasc3))<=30 and (Month(d.DataNasc3))>=01 and (Month(d.DataNasc3))<=12)
end
Tópico encerrado , respostas não são mais permitidas