LibreOffice Base: Com esta fórmula você pode inserir aniversários com sucesso no Base

Índice:

Anonim

Se você inserir as datas de nascimento das pessoas no LibreOffice Base, o programa pode calcular para você quantos anos uma pessoa tem neste ano. Vamos mostrar como funciona.

Como criar uma lista de aniversários no LibreOffice Base

Se você inserir as datas de nascimento das pessoas no LibreOffice Base, o programa pode calcular para você quantos anos uma pessoa tem neste ano. Uma fórmula simples é usada para subtrair o ano de nascimento do ano atual. No entanto, isso não é particularmente preciso porque, de acordo com o método usual de contagem, o ano de vida de uma pessoa muda no dia do seu aniversário. Portanto, isso deve ser incluído na fórmula.

No início, a fórmula era a seguinte:

SELECT DATEDIFF ('yy', "Membros". "Data de nascimento", CURRENT_DATE) AS "Idade" FROM "Membros"

A variável CURRENT_DATE sempre contém a data atual. Com a função DAYOFYEAR, isolamos o dia da data e omitimos o ano. Fazemos isso com a data atual:

DAYOFYEAR (CURRENT_DATE)

… e também com a data de nascimento:

DAYOFYEAR ("Membros". "Data de Nascimento")

Em seguida, verificamos se o aniversário ainda está chegando este ano:

DAYOFYEAR ("Membros". "Data de Nascimento")> DAYOFYEAR (CURRENT_DATE)

Finalmente, uma condição é criada com o comando CASEWHEN. Se a data de aniversário ainda estiver no futuro, subtraímos um ano da idade calculada:

- CASEWHEN (DAYOFYEAR ("Membros". "Data de Nascimento")> DAYOFYEAR (CURRENT_DATE), 1, 0)

O menos bem na frente é o símbolo aritmético e o 1 quase no final é deduzido se tudo entre eles se aplicar. A fórmula final finalmente se parece com isto:

SELECT DATEDIFF ('yy', "Membros". "Data de nascimento", CURRENT_DATE) - CASEWHEN (DAYOFYEAR ("Membros". "Data de nascimento")> DAYOFYEAR (CURRENT_DATE), 1, 0) AS "Idade" DE " Membros"