Gå til innhold

Finne antall dager mellom to datoer


Anbefalte innlegg

Jeg har en tabell som er følgende:

 

id | navn | en_fra_dato | en_til_dato |

----------------------------------------------

1 | Meg | 3/20/2009 | 3/25/2009 |

2 | Deg | 3/26/2009 | 3/27/2009 |

 

 

Jeg ønsker å telle hvor mange dager det er mellom en_fra_dato til en_til_dato og sitte det inn i en ny kolonne. Noe alà slik:

 

id | navn | en_fra_dato | en_til_dato | antall_dager |

---------------------------------------------------------------

1 | Meg | 3/20/2009 | 3/25/2009 | 6 |

2 | Deg | 3/26/2009 | 3/27/2009 | 2 |

 

Lar dette seg gjøre?

Lenke til kommentar
Videoannonse
Annonse

Selvfølgelig, men har du noen veldig god grunn til å lagre denne informasjonen i databasen i stedet for å kalkulere det "on the fly"? Skal du f.eks. søke på denne verdien og derfor har behov for en index?

 

Du sier heller ikke noe om hvilket DBMS du bruker, men de fleste DBMS har f.eks. en DATEDIFF funksjon.

Endret av kaffenils
Lenke til kommentar

Ja, det lar seg gjøre ;)

 

Legg til ny kolonne i tabellen, dette gjøres sånn tror jeg:

ALTER TABLE 'tabellnavn' ADD antall_dager INTEGER (mulig du må legge til 'default value 0' eller noe)

 

Fyll den nye kolonnen med data:

UPDATE 'tabellnavn' SET antall_dager=DATEDIFF(en_fra_dato, en_til_dato)

 

Dette burde ihvertfall gi en god indikasjon på fremgangsmåten, lykke til!

 

Edit: som nevnt over pleier man normalt sett å kjøre slike utregninger on-the-fly, slik unngår man unødvendig data og feilkilder.

Endret av norpheus
Lenke til kommentar
  • 3 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...