Pagina 1 di 1

[Risolto] Calcolo anni di vita

Inviato: domenica 28 maggio 2023, 16:13
da giuseppe57
Buona sera, avrei bisogno di sapere, se possibile e per favore, la sintassi per calcolare gli anni di vita di una persona in un database Libre. Faccio presente che qualcosa ho trovato tempo fa, ma ora l'ho anche smarrito, per il calcolo con Calc e calcolava perfetto, al giorno, ma in Base non funzionava, poi trovai qualcosa anche per base ma era molto approssimativo e quindi non affidabile. Mi potete dare una mano per cortesia? Grazie in anticipo.
Saluti
Giuseppe

Re: Calcolo anni di vita

Inviato: domenica 28 maggio 2023, 16:57
da charlie
Ciao, avevamo già parlato delle funzione DATEDIFF qui: https://forum.openoffice.org/it/forum/v ... t=datediff
Al posto delle prima data devi metterci la funzione NOW() che vuol dire ora, in questa data, in questo momento. Al posto della seconda data devi mettere quella di nascita. Ti lascio invece scoprire cosa scrivere al posto di 'dd' per aver gli anni anzichè i giorni :D .

Re: Calcolo anni di vita

Inviato: domenica 28 maggio 2023, 17:39
da giuseppe57
Infatti, mi ricordavo che c'era qualcosa che non andava, quella formula non rispetta gli anni giusti, te la riporto così mi dici, cortesemente dove è che sbaglio, perchè sicuramente sbaglio, DATEDIFF( 'yy', "natoil", NOW( ) ) questo è quello che scrivo e se nel campo "natoil" metto 28/05/1957 mi da giustamente 66 anni, se metto 27/05/1957 mi da giustamente 66 anni e se metto 29/05/1957 ingiustamente sempre 66 anni mi da, non me ne dovrebbe dare invece 65? Mi indichi, per favore, dove commetto errore di sbaglio :( ? Grazie.
Giuseppe.

Re: Calcolo anni di vita

Inviato: domenica 28 maggio 2023, 18:29
da giuseppe57
Facendo varie prove ho notato che dall'01/01/57 al 31/12/57 da sempre 66 anni quindi penso faccia il calcolo solo sull'anno e non su tutta la data intera, giorno mese anno. che si fa??? Boohhh. Deduzioni mie, non so se esatte.

Re: Calcolo anni di vita

Inviato: domenica 28 maggio 2023, 18:52
da charlie
Deduzione esatta, bisogna cercare un altro sistema ... :roll: :roll: :roll:

Re: Calcolo anni di vita

Inviato: domenica 28 maggio 2023, 19:04
da charlie
Bisogna cambiare approccio:

Codice: Seleziona tutto

SELECT *, "DataNascita", YEAR( CURRENT_DATE ) - YEAR( "DataNascita" ) - CASEWHEN( RIGHT( CURRENT_DATE, 5 ) < RIGHT( "dataNascita", 5 ), 1, 0 ) AS "Anni" FROM "NomeTabella"
Dove CURRENT_DATE equivale a NOW(), fa la stessa cosa;
CASEWHEN confronta i mesi delle date e toglie 1 anno se il mese della data odierna è minore del mese della data di nascita.

EDIT: oppure

Codice: Seleziona tutto

SELECT "ID", "Nascita", YEAR( CURRENT_DATE ) - YEAR( "Nascita" ) - CASEWHEN( MONTH( CURRENT_DATE) < MONTH( "Nascita"), 1, 0 ) AS "Anni" FROM "Tabella1"

Re: Calcolo anni di vita

Inviato: lunedì 29 maggio 2023, 12:32
da giuseppe57
Buon giorno Charlie, grazie per le risposte. Puoi vedere, per favore, se ho scritto bene la sintassi per adattare il codice di sopra al mio database? SELECT *, "natoil", YEAR( CURRENT_DATE ) - YEAR( "natoil" ) - CASEWHEN( RIGHT( CURRENT_DATE, 5 ) < RIGHT( "natoil", 5 ), 1, 0 ) AS "Anni" FROM "TAnag" solo non riesco a capire "Anni" a quale campo si riferisce e come devo modificarlo e infine, sempre per cortesia, mi dici in quale tipo di campo vado a scrivere il codice? Grazie per la pazienza.
Saluti Giuseppe

Re: Calcolo anni di vita

Inviato: lunedì 29 maggio 2023, 15:15
da charlie
Ciao, sei in una query:
  • o la apri con Crea ricerca in vista sql e copi/incolli tutto il codice che hai scritto
  • o la apri con Crea ricerca in vista struttura e fai tutto graficamente
    Schermata 2023-05-29 alle 15.10.23.png
    Schermata 2023-05-29 alle 15.10.23.png (22.55 KiB) Visto 1239 volte

Re: Calcolo anni di vita

Inviato: mercoledì 31 maggio 2023, 8:46
da giuseppe57
Perfetto Charlie, manco a dirlo, perfetto :super: , non che avessi dubbi :D . Ecco vedi, è questo che vorrei imparare a fare io, cioè a scrivere formule nelle query, come nell'esempio che mi hai mandato tu, come posso fare, indirizzami per favore, se c'è un videocorso da seguire su you tube o un manuale da leggere, indirizzato a gente cruda come me però, altrimenti mi perdo fra le varie terminologie tecniche. Quell'altro modo da seguire per arrivare allo stesso risultato, non l'ho capito, non ho capito dove andare a scrivere , con SELECT per intenderci, la riga di comando, in quale posizione , nella struttura del campo, ma non fa niente, mi piacerebbe ma, per ora non fa niente. Aspettando indicazioni su dove andare per acquisire, una basilare infarinatura su come e cosa scrivere nelle query per raggiungere risultati soddisfacenti nei vari calcoli di date, nuemeri, confronti fra campi e altro, ti ringrazio di cuore e amichevolmente ti saluto.
Giuseppe

Re: Calcolo anni di vita

Inviato: mercoledì 31 maggio 2023, 9:10
da giuseppe57
Scusa, stavo pensando, perchè non apri un tuo canale su you tube e metti a disposizione le tue conoscenze con dei videocorsi, penso che saresti molto seguito, o esiste già una cosa del genere ed io non me ne sono mai accorto? Saluti
Giuseppe

Re: Calcolo anni di vita

Inviato: mercoledì 31 maggio 2023, 12:06
da charlie
giuseppe57 ha scritto: mercoledì 31 maggio 2023, 8:46 Quell'altro modo da seguire per arrivare allo stesso risultato, non l'ho capito, non ho capito dove andare a scrivere , con SELECT per intenderci, la riga di comando, in quale posizione , nella struttura del campo, ...
charlie ha scritto: lunedì 29 maggio 2023, 15:15 ... la apri con Crea ricerca in vista sql ....
giuseppe57 ha scritto: mercoledì 31 maggio 2023, 8:46 indirizzami per favore, se c'è un videocorso da seguire su you tube o un manuale da leggere,
Tutto quello che conosco, l'ho imparato su questo forum provando a rispondere alle domande degli altri utenti dopo aver fatto delle prove personali. Poi consultando i forum paralleli in inglese e francese (grazie a google translate!) e i manuali rintracciabili sui siti ufficiali di OpenOfficee libreOffice.
giuseppe57 ha scritto: mercoledì 31 maggio 2023, 9:10 ... perchè non apri un tuo canale su you tube ...
No grazie, ce ne sono già troppi !

Re: Calcolo anni di vita

Inviato: mercoledì 31 maggio 2023, 16:13
da giuseppe57
Ok Charlie grazie di tutto per adesso, un arriscriverci e un riconoscente saluto.
Giuseppe