Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Tutorial de SQL
SEÇÕES
Manuais relacionados
+Tutorial de SQL
Categorias
+Linguagem SQL
+Access

Índice do Manual Tutorial de SQL
+ O que é SQL
+ Tipos de campos
+ Adicionar um novo registro
+ Apagar um registro
+ Atualizar um registro
+ Seleção de tabelas I
+ Seleção de tabelas II
+ Seleção de tabelas III
+ Seleção de tabelas IV
+ Aproveite seu banco de dados
+ Tabelas temporárias no Sql Server
+ Adquirindo informações do Usuário com a classe System
+ Alguns truques práticos
+ Criação de tabelas
+ SQL e Programação de Banco de Dados
+ Funções para buscas com datas em Access
+ Função em SQL para o cálculo de dias de trabalho
+ SQL com Oracle
+ SQL com Oracle. Operadores
+ Sub-consultas SQL
+ Funções SQL
+ Agrupamento e combinação de elementos com SQL
+ Manipulação de dados com SQL
+ Chaves primárias com SQL com Oracle
+ Definição de chaves para tabelas e restrições
+ Supressão e modificação de tabelas com SQL
+ Gerenciamento de vistas em SQL
+ Usuários em Oracle
+ Gerenciamento em Oracle com SQL
+ Otimizar consultas SQL
+ Consultas de seleção
+ Critérios de seleção em SQL
+ Como exibir informações com múltiplas instruções SQL
+ Critérios de seleção em SQL II
+ Consultas de ação
+ Tipos de dados SQL
+ Subconsultas em SQL
+ Consultas SQL de União Internas
+ Estruturas das tabelas em SQL
+ Cursores em SQL
+ Referências Cruzadas em SQL
+ Introdução a freetext e contains em SQL-Server
+ Acesso ao banco de dados externos
+ Consultas com parâmetros e omissão de permissões
+ Procedures e busca de registros duplicados em SQL
+ A função datepart() em Access
+ Emular um Cursor SQL com um Loop
+ Tipos de instruções SQL e seus componentes sintáticos

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Funções para buscas com datas em Access

Realizar buscas em Access utilizando, nas condições do Where, campos do tipo data. Funções úteis.


Buscas com datas em Access Recebemos uma pergunta recentemente de um amigo que desejava realizar buscas em Access utilizando, nas condições do Where, campos do tipo data. Depois de várias tentativas resgatamos umas anotações que podem ser interessantes para publicar. Seguro que servem de ajuda a outras pessoas que tenham que trabalhar com datas em consultas de Access.

A consulta era a seguinte:

Tenho uma tabela com vários campos. Dois deles são datas, que correspondem com um intervalo. Um deles é a data de início do intervalo (datadesde) e outro a de final do intervalo (dataate)

Queria saber como se pode fazer uma consulta SQL em Access para obter os registros cujo intervalo de datas contenha o dia de hoje.

Ou seja, que a data desde seja menor que hoje e data até seja maior que hoje.

Estivemos primeiro fazendo duas provas sem êxito, comparando as datas com operadores aritméticos. Em alguns casos obtivemos a resposta esperada, porém nem sempre funcionavam as sentenças e tínhamos problemas ao executa-las desde Access ou desde o servidor web, porque não devolviam os mesmos resultados.

Função DateDiff()

Afinal, a resposta que propusemos passou por utilizar a função DateDiff, que serve para obter a diferença entre duas datas. Por exemplo:

DateDiff("y", #06/10/2004#, Now())

Conta-nos os dias que passaram desde seis de outubro de 2004.

Nós podemos utiliza-la como condição em um where de uma sentença SQL. Por exemplo, para uma sentença como esta:

DateDiff("y",A,B)

  • Se são iguais, a função devolverá zero.
  • Se A é uma data anterior a B, então a função devolverá um número de dias que será maior que zero.
  • Se A é uma data posterior a B, então devolverá um número de dias que será menor que zero.
Temos que comparar o dia de hoje com as datas desde e ate. Hoje tem que ser maior que desde e menor que ate. Fica como resultado esta sentença:

SELECT * FROM vuelos WHERE
DateDiff('y',datadesde,now())>=0
and DateDiff('y',dataate,nom())<=0


Nota: Há que ter cuidado com o idioma das datas, pois em português se escrevem de maneira diferente que em inglês. Access tenta interpretar a data corretamente, por exemplo, se introduzimos 02/26/04 pensará que está trabalhando em datas em inglês e se introduzimos 26/02/04 pensará que estamos escrevendo as datas em português. O problema é com uma data como 02/02/04 que seu valor dependerá de como esteja configurado o Access, em português ou em inglês.

Função DatePart
Serve para extrair parte de uma data. Recebe dois parâmetros, o primeiro indica mediante um string a parte a obter. O outro parâmetro é a data com a que se deseja trabalhar.

DatePart("m",data)

Neste caso está sendo indicado que se deseja obter o mês do ano. Outro valor possível para o primeiro parágrafo é, por exemplo "yyyy", que se utiliza para obter o ano com quatro dígitos. Um exemplo de sentença SQL que utiliza esta função pode ser a seguinte:

SELECT DatePart("yyyy",validadedesde) FROM voos

Função DateAdd

Esta última função que vamos ver no presente artigo serve para acrescentar à data, algo como dias, meses ou anos. Para isso a função recebe três parâmetros, o primeiro corresponde com um string para indicar as unidades do que desejamos acrescentar, por exemplo, dias, meses ou anos. O segundo parâmetro é o número de dias, meses ou anos a adicionar e o terceiro parâmetro é a data a qual somar esses valores. Vemos um exemplo de sua sintaxe:

DateAdd("yyyy",10,validadedesde)

Neste exemplo a função DateAdd devolveria uma data dez anos posterior a validadedesde. Outros valores para o string do primeiro parâmetro são "d", para acrescentar dias, ou "m", para acrescentar meses.

Um exemplo do funcionamento desta função em uma sentença SQL é a seguinte:

SELECT DateAdd("yyyy",10,validadedesde) FROM voos

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Tutorial de SQL

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Linguagem SQL
+ Entrar em Access


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
 Mostra-se um comentário revisto

 Comentário de Camilo  21/3/07 
Perfeito!! Obrigado Amigo!

Comentário sem rever
Entre os comentários não revistos podem ter alguns interessantes que tenham sido enviado recentemente.
 Foram econtrados 2 comentários sem rever

VerVer os comentários não revistos



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites