Avatar billede prebenrunge Nybegynder
17. november 2009 - 19:17 Der er 1 kommentar og
1 løsning

Hvordan rettes del af dato felt i Oracle

jeg har et date felt (timestamp) i en tabel Anntid som indeholder forkert årstal på rigtig mange poster og som jeg godt vil have opdateret med det korrekte årstal.
jeg bruger en select sætning som her for at finde posterne:

"Select timestamp from Anntid where timestamp = to_date('15-05-2009','dd-mm-yyy') order by timestamp;"

Jeg kan mærkelig nok ikke bruge timestamp=to_date('2009','yyyy') da det ikke virker.

Det jeg ønsker at en Update sætning som opdaterer ALLE posterne med et bestemt årstal (0009) til et andet (2009) men bibeholder den føste del af timestamp (dato og måned )
eks. skal '15-05-0009' ændres til 15-05-2009 osv.

Kan nogen hjælpe ?
Avatar billede steber Nybegynder
17. november 2009 - 19:37 #1
Nu ved jeg jo ikke om det kun er år 0009 som er problemet, eller der er andre. Men i givet fald ville jeg skrive noget i stil med:
UPDATE anntid
  SET timestamp = to_date( to_char( timestamp, 'DD-MM') || '-2009', 'DD-MM-YYYY')
WHERE to_char( timestamp, 'YYYY') = '0009'
Avatar billede prebenrunge Nybegynder
17. november 2009 - 21:29 #2
Tusinde tak, den sad lige i øjet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester