Tutorial SQL

SQL INÍCIO Introdução SQL Sintaxe SQL Seleção SQL SQL Select Distinto SQL Onde SQL E, Ou, Não Ordem SQL por SQL Inserir em Valores Nulos SQL Atualização SQL Excluir SQL SQL Select Top SQL Mínimo e Máximo Contagem SQL, Média, Soma Como SQL Curingas SQL Entrada SQL SQL entre Alias ​​SQL Junções SQL SQL Inner Join SQL Left Join Associação à direita do SQL Associação completa SQL Auto-junção SQL União SQL SQL Agrupar por SQL tendo SQL existe SQL Qualquer, Todos SQL Selecionar em SQL Inserir na seleção Caso SQL Funções Nulas SQL Procedimentos armazenados SQL Comentários SQL Operadores SQL

Banco de dados SQL

SQL Criar banco de dados SQL Drop DB Banco de dados de backup SQL SQL Criar Tabela Tabela de descarte de SQL Tabela de alteração SQL Restrições SQL SQL não nulo SQL exclusivo Chave Primária SQL Chave estrangeira SQL Verificação SQL Padrão SQL Índice SQL Incremento automático de SQL Datas SQL Visualizações SQL Injeção SQL Hospedagem SQL Tipos de dados SQL

Referências SQL

Palavras-chave SQL Funções do MySQL Funções do SQL Server Funções de acesso MS Referência Rápida SQL

Exemplos SQL

Exemplos SQL Teste SQL Exercícios de SQL Certificado SQL

SQL trabalhando com datas


Datas SQL

A parte mais difícil ao trabalhar com datas é ter certeza de que o formato da data que você está tentando inserir corresponde ao formato da coluna de data no banco de dados.

Desde que seus dados contenham apenas a parte da data, suas consultas funcionarão conforme o esperado. No entanto, se uma parte do tempo estiver envolvida, fica mais complicado.


Tipos de dados de data SQL

O MySQL vem com os seguintes tipos de dados para armazenar uma data ou um valor de data/hora no banco de dados:

  • DATE- formato AAAA-MM-DD
  • DATETIME- formato: AAAA-MM-DD HH:MI:SS
  • TIMESTAMP- formato: AAAA-MM-DD HH:MI:SS
  • YEAR- formato YYYY ou YY

O SQL Server vem com os seguintes tipos de dados para armazenar uma data ou um valor de data/hora no banco de dados:

  • DATE- formato AAAA-MM-DD
  • DATETIME- formato: AAAA-MM-DD HH:MI:SS
  • SMALLDATETIME- formato: AAAA-MM-DD HH:MI:SS
  • TIMESTAMP- formato: um número único

Nota: Os tipos de data são escolhidos para uma coluna quando você cria uma nova tabela em seu banco de dados!


SQL trabalhando com datas

Observe a tabela a seguir:

Tabela de pedidos

OrderId ProductName OrderDate
1 Geitost 2008-11-11
2 Camembert Pierrot 2008-11-09
3 Mozzarella di Giovanni 2008-11-11
4 Mascarpone Fabioli 2008-10-29

Agora queremos selecionar os registros com OrderDate de "2008-11-11" da tabela acima.

Usamos a seguinte SELECTdeclaração:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

O conjunto de resultados ficará assim:

OrderId ProductName OrderDate
1 Geitost 2008-11-11
3 Mozzarella di Giovanni 2008-11-11

Nota: Duas datas podem ser facilmente comparadas se não houver nenhum componente de tempo envolvido!

Agora, suponha que a tabela "Pedidos" tenha esta aparência (observe o componente de tempo adicionado na coluna "Data do pedido"):

OrderId ProductName OrderDate
1 Geitost 2008-11-11 13:23:44
2 Camembert Pierrot 2008-11-09 15:45:21
3 Mozzarella di Giovanni 2008-11-11 11:12:01
4 Mascarpone Fabioli 2008-10-29 14:56:59

Se usarmos a mesma SELECTdeclaração acima:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

não teremos resultado! Isso ocorre porque a consulta está procurando apenas por datas sem porção de tempo.

Dica: Para manter suas consultas simples e fáceis de manter, não use componentes de tempo em suas datas, a menos que seja necessário!