Ir para conteúdo

POWERED BY:

Arquivado

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

thicomp

Filtro de informações

Recommended Posts

Oi Pessoal, Bom Dia!!!

Estou com um problema , será que alguém poderia me ajudar?

 

É o seguinte, tenho uma página que carrega algumas informações para uma segunda página, e essas informações servem de filtro para a mesma.

Por exemplo, na página 1 seleciono um ano qualquer, esse ano (yyyy) é enviado para a página 2 e o filtro, através da cláusula "WHERE" deve ser baseado nesse item. Mas o problema é que no meu banco, as informações foram inseridas no formato ano/mês (yyyy/mm).

Será que teria alguma maneira de eu verificar somente o ano no meu banco, esquecendo o mês para montar esse filtro?

 

Espero ter sido claro.

 

Abraços

 

Thiago

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim utilize na sua sql isso

 

data = 17/10/1983

 

Month(data)

neste caso a sql so vai pegar o mes

 

Meu sql está assim

 

sql="SELECT * from proj where Data = "&ano&" order by "&fil&", "&fil1&", Cod ASC"

 

E os dados da coluna Data estão no formato "YYYY/MM", só que a variável "ano" é enviada somente "YYYY".

 

Tentei fazer o que você me sugeriu, mas acho que não deu certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei como ta a data aonde você quer pegar o mes, mais seria mais ou menos assim

 

sql="SELECT * from proj where Data = "&ano&" AND MONTH(datacadastro) = "&mes&" order by "&fil&", "&fil1&", Cod ASC"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então pessoal, o banco de dados é SQL server 2000, o nome da coluna é "DATA" e o formato do conteúdo dessa coluna é 2009/10, por exemplo (ano/mes). Só que a variável carrega é somente o ano. Portanto, gostaria que ele filtrasse com os 4 primeiros caracteres do banco e não levasse em consideração a barra e o mês.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara não saco de sql server mais tenta assim

 

sql="SELECT * from proj where Year(Data) = "&ano&" order by "&fil&", "&fil1&", Cod ASC"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, muito obrigado pela ajuda, mas já consegui resolver meu problema... Utilizei a cláusula "LIKE", onde ele verifica se o conteúdo existe no campo, se sim, disponibiliza.

To postando o código aí,...

 

sql="SELECT * from proj WHERE Data LIKE '%"&ano&"%' order by "&fil&", "&fil1&", Cod ASC"

 

Valeu galera!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu faria assim, acho mais correto e segue como aprendizado para futuros problemas de conversão:

sql="SELECT * from proj WHERE YEAR(CAST(CONVERT(VARCHAR(10), data+ '/01', 103) AS DATETIME)) = " & ano & " order by "&fil&", "&fil1&", Cod ASC"
concatena-se o '/01' na coluna com o ano e mes para ter todos os dados da data . Depois converte para data e extrai apenas o ano e compara com o que você quer

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa jonathan mais neste caso so para sql server né?

 

Neste caso fiz para SqlServer. Em outros bancos dá pra fazer a mesma coisa, porém usando funções nativas de cada banco

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.