Você está aqui: MySQL ::: Dicas & Truques ::: Data e Hora

Como calcular a diferença em dias entre duas datas do MySQL usando a função DATEDIFF()

Quantidade de visualizações: 18915 vezes
A função DATEDIFF() é usada quando precisamos obter a diferença entre duas datas. Ela aceita dois argumentos: expr1 e expr2 e retorna expr1 ? expr2 como um valor em dias de uma data para a outra. Tanto expr1 quanto expr2 são campos do tipo DATE, DATETIME ou TIMESTAMP. Somente a parte date é usada nos cálculos. Veja um exemplo de seu uso:

Este trecho de código ou resolução de exercício faz parte do Super Pack 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Quero Ser Apoiador(a)


O resultado será 29. Veja mais um exemplo:

Este trecho de código ou resolução de exercício faz parte do Super Pack 12.000 Dicas e Truques de Programação e 1.500 Exercícios Resolvidos em Java, Python, VisuAlg, Portugol, Delphi, C#, C, C++, VB.NET, Golang, Pascal, Ruby, PHP, e várias outras linguagens.

Aprenda a programar resolvendo problemas do mundo real. Tudo em português, com comentários em português.

Quero Ser Apoiador(a)


Aqui nós obtemos a quantidade de dias que já se passaram entre a data de hoje e o valor armazenado no campo vencimento.

Link para compartilhar na Internet ou com seus amigos:

MySQL ::: Dicas & Truques ::: Data e Hora

Como adicionar horas, dias, semanas, meses, anos, etc, ao valor de um campo DATE ou DATETIME usando a função DATE_ADD() do MySQL

Quantidade de visualizações: 11172 vezes
A função DATE_ADD() é muito útil quando precisamos adicionar horas, dias, semanas, meses, etc, ao valor de um campo do tipo DATE ou DATETIME. Esta função é composta de três partes:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

DATE_ADD(date, INTERVAL expr unit)

O argumento date deve ser do tipo DATE ou DATETIME. O argumento expr indica um número inteiro que indica a quantidade de horas, dias, meses, etc, que será usada como intervalo. O argumento unit indica a unidade a ser usada. Valores possíveis são: HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, etc.

Veja um exemplo no qual adicionamos 15 dias à data atual:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT DATE_ADD(NOW(), INTERVAL 15 DAY)

Suponha que você tenha um campo chamado data_hora_compra do tipo DATETIME e que este campo tenha o valor 2008-03-30 02:30:15. A query:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT DATE_ADD(data_hora_compra, INTERVAL 
2 MONTH) FROM tabela_estudos

retornará 2008-05-30 02:30:15.


MySQL ::: Dicas & Truques ::: Data e Hora

Como formatar campos DATE, TIME, DATETIME e TIMESTAMP usando a função DATE_FORMAT() do MySQL

Quantidade de visualizações: 25649 vezes
A função DATE_FORMAT() é usada quando precisamos formatar os valores obtidos de campos do tipo DATE, TIME, DATETIME e TIMESTAMP. Veja um exemplo no qual obtemos o valor de um campo DATE chamado vencimento e o formatamos para o formato 30/10/2007:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT DATE_FORMAT(vencimento, '%d/%m/%Y') FROM
tabela_estudos

A relação de caracteres que podem ser usados na definição do formato para esta função pode ser encontrada em:

http://www.arquivodecodigos.com.br/
referencias/mysql/
caracteres_formatacao_data_hora.php


MySQL ::: Dicas & Truques ::: Joins (Junções)

Como usar joins no MySQL

Quantidade de visualizações: 11047 vezes
As junções (joins) são ferramentas presentes na maioria dos bancos de dados que suportam SQL e são usadas quando precisamos recuperar dados de uma ou mais tabelas com base em suas relações lógicas. Desta forma, é possível combinar os registros de tais tabelas de forma a construir um "super-registro", que nos permitirá exibir relatórios mais elaborados.

Para o bom entendimento de junções, vamos considerar duas tabelas: filmes e generos. Aqui nós temos uma cardinalidade de 1 x N. Um filme possui um gênero, enquanto um gênero pode abranger vários filmes. Vamos começar criando estas duas tabelas (comece com a tabela generos, já que esta não depende da tabela de filmes):

Comando DLL CREATE TABLE para a tabela generos:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

CREATE TABLE generos(
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  nome VARCHAR(45) NOT NULL,
  PRIMARY KEY(id)
)
ENGINE = InnoDB;

Veja agora o comando SQL para a criação da tabela de filmes:

Comando DLL CREATE TABLE para a tabela filmes:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

CREATE TABLE filmes(
  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  titulo VARCHAR(45) NOT NULL,
  genero INTEGER UNSIGNED NOT NULL,
  PRIMARY KEY(id),
  CONSTRAINT fk_filmes_generos FOREIGN KEY fk_filmes_generos(id)
    REFERENCES generos(id) ON DELETE RESTRICT ON UPDATE RESTRICT
)
ENGINE = InnoDB;

Veja que a tabela filmes contém uma chave estrangeira referenciando a chave primária da tabela generos. Isso nos permite "atrelar" um filme ao seu gênero. Vá em frente e insira alguns dados em ambas as tabelas. Primeiro cadastre alguns gêneros e em seguida alguns filmes.

Vejamos agora a importância dos joins. Observe o resultado de um comando DML SELECT na tabela filmes:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT * FROM filmes;

id  titulo	        genero
1   EFEITO BORBOLETA	6
2   O PENTELHO	        1
3   VIAGEM MALDITA	3

Nesta query o gênero é retornado como um valor inteiro, ou seja, o valor do campo id da tabela generos. Em muitos casos este não é o comportamento que queremos. Em vez do id do gênero nós gostaríamos de exibir seu nome. Isso pode ser conseguido da seguinte forma:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT filmes.id, filmes.titulo, generos.nome FROM filmes,
generos WHERE filmes.genero = generos.id;

id  titulo	        genero
1   EFEITO BORBOLETA	FICÇÃO
2   O PENTELHO	        COMÉDIA
3   VIAGEM MALDITA	TERROR

Nesta query eu usei o nome completo da tabela antes do nome dos campos a serem retornados. Na prática, é comum darmos apelidos às tabelas. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT f.id, f.titulo, g.nome FROM filmes f,
generos g WHERE f.genero = g.id;

Neste exemplo, não usamos as palavras-chaves INNER JOIN, LEFT JOIN, RIGHT JOIN, etc. A junção está "escondida" na cláusula SELECT. Esta técnica é conhecida como "junção implícita" ou "implicit join". Veja como o mesmo resultado pode ser obtido usando a junção INNER JOIN:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

SELECT f.id, f.titulo, g.nome FROM filmes f INNER JOIN
generos g ON f.genero = g.id;

Veja minhas outras dicas sobre junções para aprender mais sobre INNER JOIN, LEFT JOIN, RIGHT JOIN, OUTER JOIN, FULL JOIN, etc.


Veja mais Dicas e truques de MySQL

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 13 usuários muito felizes estudando em nosso site.