Mostrando postagens com marcador Curdate(). Mostrar todas as postagens
Mostrando postagens com marcador Curdate(). Mostrar todas as postagens

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.