quarta-feira, 17 de agosto de 2011

Filtrar intervalo de datas e nomes (SQLServer)

Como dá pra perceber mais duas dicas sobre informática sobre programação, dessa vez no banco de dados.

As perguntas foram:

1. "Como faço pra filtrar todos os clientes que eu tenho que foram cadastrados em um intervalo de data?"

2. "Como faço a mesma coisa definindo também um filtro de nome, por exemplo Pedro?"


Bom, vamos por ordem.





primeira pergunta (Resposta):


   Você deve utilizar o comando Between que define um intervalo em um campo seja ele numérico, de data ou valor monetário.


   Criei uma tabela chamada tb_cliente contendo os campos:


   cliente_codigo - tipo Integer - chave primária.
   cliente_nome  -  tipo Varchar (45).
   cliente_data_cadastro - tipo DateTime.


   para buscar todo mundo cadastrado de 01 junho de 2011 até 31 de agosto de 2011 eu coloquei o seguinte comando:




    Select * from tb_cliente
     where cliente_data_cadastro between '2011-06-01' and '2011-08-31'

    sendo assim a tabela retornará todos nesse intervalo de data.


    2 Pergunta (Resposta):


    Pra você filtrar pelo nome você tem que ver o que vc quer fazer, por exemplo:




    Procurar clientes que comecem com o nome PEDRO.

    Select cliente_nome from tb_cliente
    where cliente_nome like 'PEDRO%'


     Procurar clientes que terminem com o nome SILVA.

     Select cliente_nome from tb_cliente
     where cliente_nome like '%SILVA'


     Procurar clientes que tenham o nome PEDRO em qualquer posição do nome.

     Select cliente_nome from tb_cliente
     where cliente_nome like '%PEDRO%'



     Unindo as informações podemos responder a segunda pergunta:


     Select * from tb_cliente
     where cliente_nome like '%PEDRO%' and
              cliente_data_cadastro between '2011-006-01' and '2011-08-31'




     Espero ter ajudado, qualquer coisa entre em contato comigo.


     Abraço a todos.

     






   

Nenhum comentário:

Postar um comentário