[Risolto]Calcolo con campi vuoti

Discussioni sulle caratteristiche di database
Rispondi
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

[Risolto]Calcolo con campi vuoti

Messaggio da Muset »

Buongiorno a tutti,
nella soluzione suggerita da charlie TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', [Ingresso], [Uscita] ) + DATEDIFF( 'mi', [Ingresso2], [Uscita2] ) || ':00' AS [TIME] ), 'HH:MI' ) , mi sono accorto che non considera i record con un turno vuoto , ho visto da qualche parte una soluzione con ( xx,0,yy) ma non conosco la sintassi di come inserirla.
Grazie per la cortesia e la pazienza
Ultima modifica di Muset il giovedì 1 aprile 2021, 10:46, modificato 1 volta in totale.
LibreOffice 7.3.4.2 (x64) Windows 11
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Calcolo con campi vuoti

Messaggio da charlie »

Ciao, usa la funzione:

Codice: Seleziona tutto

COALESCE(TO_CHAR( CAST( '00:' || DATEDIFF( 'mi', [Ingresso], [Uscita] ) + DATEDIFF( 'mi', [Ingresso2], [Uscita2] ) || ':00' AS [TIME] ), 'HH:MI' ), 0)
Inserisce il valore zero in un "campo calcolato" vuoto.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: Calcolo con campi vuoti

Messaggio da Muset »

Grazie sei sempre una garanzia
LibreOffice 7.3.4.2 (x64) Windows 11
Muset
Messaggi: 124
Iscritto il: lunedì 29 marzo 2021, 14:35
Località: Fagagna UD

Re: [Risolto]Calcolo con campi vuoti

Messaggio da Muset »

Mi ero spiegato male, intendevo i campi vuoti in ingresso e uscita o ingrasso2 e uscita2. Grazie al tuo suggerimento ho cosi modificato
TO_CHAR( CAST( '00:' || COALESCE ( DATEDIFF( 'mi', "Ingresso", "Uscita" ), 0 ) + COALESCE ( DATEDIFF( 'mi', "Ingresso2", "Uscita2" ), 0 ) || ':00' AS "TIME" ), 'HH:MI' )
in questo modo calcola anche se uno dei due turni di lavoro non viene svolto
LibreOffice 7.3.4.2 (x64) Windows 11
Rispondi