Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

blackmind

Uso do %

Recommended Posts

opa, beleza?

 

pessoal seguinte, no mysql 4 eu consigo realizar essa query, ja no 5 nao, o erro esta no % alguem pode me ajudar ?

 

ESSA NAO FUNCIONA ( ... 2009-12-%)

SELECT data, date_format(data, '%m') as mes, date_format(data, '%Y') as ano FROM diario_trabalho WHERE id_vaga = '11' and id_usuario = '1' and data BETWEEN '2009-01-01' AND ('2009-12-%')

 

ESSA FUNCIONA ( ... 2009-12-1) so que o valor da data nao pode ser fixo

SELECT data, date_format(data, '%m') as mes, date_format(data, '%Y') as ano FROM diario_trabalho WHERE id_vaga = '11' and id_usuario = '1' and data BETWEEN '2009-01-01' AND ('2009-12-1')

 

Abra;o

Compartilhar este post


Link para o post
Compartilhar em outros sites

pretende filtrar os dados cuja data esteja entre 1 de janeiro de 2009 e 1 de dezembro de 2009 ?

 

pretendo filtrar os dados de janeiro de 2009 a dezembro de 2009 os dias sao irelevantes

Compartilhar este post


Link para o post
Compartilhar em outros sites

exemplo

 

SELECT Fields FROM TableName 
WHERE 
    YEAR( TargetField ) = 2009 
    AND
    MONTH( TargetField ) BETWEEN 7 AND 8

 

 

para o seu caso:

BETWEEN 1 AND 11

 

retornará tudo que esteja a partir de 1 de janeiro até 30 de novembro

Compartilhar este post


Link para o post
Compartilhar em outros sites

exemplo

 

SELECT Fields FROM TableName 
WHERE 
    YEAR( TargetField ) = 2009 
    AND
    MONTH( TargetField ) BETWEEN 7 AND 8

 

 

para o seu caso:

BETWEEN 1 AND 11

 

retornará tudo que esteja a partir de 1 de janeiro até 30 de novembro

 

 

Opa beleza?

 

Entao amigo quase resolveu, mas deu 1 problema na sua condicao, tive que colocar 1 BETWEEN o ano, ai complicou minha query fico assim

 

SELECT data, date_format(data, '%m') as mes, date_format(data, '%Y') as ano FROM diario_trabalho WHERE

YEAR( data ) BETWEEN 2006 and 2009

AND

MONTH( data ) BETWEEN 1 AND 3 GROUP by mes, ano order by data desc

 

repare que eu quero TODOS os registro de de JANEIRO 2006 a MARCO 2009, so que ele so me lista os 3 primeiros de 2006,2007,2008,2009

 

se tiver 1 forma mais facil agradeco, abraco

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT data, date_format(data, '%m') as mes, date_format(data, '%Y') as ano 
FROM diario_trabalho 
WHERE  (YEAR( data ) BETWEEN 2006 and 2008
               AND  MONTH( data ) BETWEEN 1 AND 12)
OR         (YEAR( data ) = 2009
               AND  MONTH( data ) BETWEEN 1 AND 3)
GROUP by mes, ano order by data desc

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.