sábado, 19 de agosto de 2023

Verificando validade de produtos com 'case when'

 Hoje vamos conhecer uma utilidade muito interessante para a expressão “case when” em bancos de dados. Neste “post” vamos verificar a validade de produtos com o MySQL. Siga os passos:

 1.       Criar tabela de produtos:

 CREATE TABLE `produtos` (
    `id` INT(10) NOT NULL AUTO_INCREMENT,
    `produto` VARCHAR(50) NOT NULL,
    `validade` DATE NOT NULL,
    PRIMARY KEY (`id`)
);

2.       Cadastre alguns produtos; deixe alguns com a data de validade anterior ao dia atual:


Agora utilize a seguinte SQL para relacionar os produtos vencidos:

 SELECT produto,
case
when
validade > CURDATE() then 'produto válido'
when validade = CURDATE() THEN 'vencendo hoje'
when validade < CURDATE() then 'atenção - VENCIDO'
END
situacao,
validade
FROM produtos;

 Ou seja, SE a data de validade for maior que (>) a data atual (função CURDATE()), o banco de dados imprimirá a frase 'produto válido'; se igual, 'vencendo hoje'; e, claro, se a data de validade for inferior (<) à data de hoje será impressa a expressão 'atenção - VENCIDO'; a esta coluna dei o nome de “situacao". Veja o resultado:

É isso aí. Por hoje é só, pessoal.