andrlan Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 Hei Noen som vet hvordan jeg konverterer en kolonne i en sql database om til unixtime? Kolonnen har verdier og format som datetime YYYY-MM-DD HH.MM.SS Ønsker en sql kommando som går igjennom og konverterer alle dataene i basen (kolonnen) om til unixtime. (må vel kanskje også konvertere formatet i kolonnen til INT?) Lenke til kommentar
etse Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 (endret) nå har det litt å si hva slaks database du bruker. Om du f.eks. bruker MySQL og har en tabell som er følgende: Tabell1 - id: Integer - date: Datetime Lag en ny tabell, Tabell2 Tabell2 - id : Integer - unix_date : Integer Bruk så følgende spørring INSERT INTO Tabell2 SELECT id, DATEDIFF(date, '1970-01-01') as unix_date from Tabell1; Endret 12. mars 2012 av etse 1 Lenke til kommentar
etse Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 (endret) Update: Beklager, spørringen jeg ga deg ga ingen mening når jeg så over. Den gir deg kun antall dager siden 1970-01-01, ikke sekunder. Så nå at mySQL har en egen funksjon som heter unix_timestamp, og kan derfor bruke: SELECT id, UNIX_TIMESTAMP(date) as unix_date from Tabell1; Denne testet jeg, og ga meg riktig unix-time. Bruker denne i select-statement: INSERT INTO Tabell2 SELECT id, UNIX_TIMESTAMP(date) as unix_date FROM Tabell1; Endret 12. mars 2012 av etse Lenke til kommentar
andrlan Skrevet 12. mars 2012 Forfatter Del Skrevet 12. mars 2012 Takk, da har jeg forsøkt som du skrev over. Unixtime blir dog 12982 på alle..? hmm.. Lenke til kommentar
andrlan Skrevet 12. mars 2012 Forfatter Del Skrevet 12. mars 2012 Update: Beklager, spørringen jeg ga deg ga ingen mening når jeg så over. Den gir deg kun antall dager siden 1970-01-01, ikke sekunder. Så nå at mySQL har en egen funksjon som heter unix_timestamp, og kan derfor bruke: SELECT id, UNIX_TIMESTAMP(date) as unix_date from Tabell1; Denne testet jeg, og ga meg riktig unix-time. Bruker denne i select-statement: INSERT INTO Tabell2 SELECT id, UNIX_TIMESTAMP(date) as unix_date FROM Tabell1; Ja, supert nå fungerer det..! Tusen takk! Lenke til kommentar
GeirGrusom Skrevet 12. mars 2012 Del Skrevet 12. mars 2012 Vær klar over at det ikke er noen god idé å lagre Unix-time som 32-bit. I 19. Januar 2038 så vil klokka snurre tilbake til 1. Januar 1970. Lenke til kommentar
Leakim Skrevet 13. mars 2012 Del Skrevet 13. mars 2012 Vær klar over at det ikke er noen god idé å lagre Unix-time som 32-bit. I 19. Januar 2038 så vil klokka snurre tilbake til 1. Januar 1970. Uff, ja. 2038 er rett rundt hjørnet Lenke til kommentar
GeirGrusom Skrevet 13. mars 2012 Del Skrevet 13. mars 2012 Vær klar over at det ikke er noen god idé å lagre Unix-time som 32-bit. I 19. Januar 2038 så vil klokka snurre tilbake til 1. Januar 1970. Uff, ja. 2038 er rett rundt hjørnet At det er lenge til det går i stykker er ikke et argument for å implementere et ødelagt system. 1 Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå