Avatar billede dankerlinnet Nybegynder
04. maj 2011 - 20:31 Der er 1 løsning

Problemer med Konvertering af datatype !

Sidder med "endnu" et problem, hvor jeg forsøger at bruge funktionen AGE(timestamp, timestamp) for at udregne en given periode.

Mine to dato felter er desværre blevet defineret som varchar, hvorfor PostgreSQL brokker sig over at datatypen er forkert.

Begge datofelter er populeret med datoer som overholder YYYY-MM-DD.

Jeg har forsøgt at lave en "ALTER TABLE ALTER COLUMN...." og forsøgt at lave en CAST for at konvertere kolonerne til DATE format. Ingen af delene med held.

<b>AGE funktionen:</b>
[SQL] Update test SET alder_v_indl = age("AnkomstDato", "fdato")

[Err] ERROR:  function age(character varying, character varying) does not exist
LINE 1: Update test SET alder_v_indl = age("AnkomstDato", "fdato")
                                      ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.


<b>ALTER forsøget:</b>

[SQL] ALTER TABLE test ALTER COLUMN fdato TYPE date

[Err] ERROR:  column "fdato" cannot be cast to type date
Avatar billede dankerlinnet Nybegynder
04. maj 2011 - 21:15 #1
Fik løst problemet med

UPDATE test SET alder_v_indl =
age(to_timestamp("AnkomstDato", 'YYYY-MM-DD'), to_timestamp(fdato, 'YYYY-MM-DD'))

Age funktionen fungerer underligt nok kun med typen timestamp.
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