09. december 2005 - 12:04Der er
13 kommentarer og 1 løsning
Konverter tekststreng til nummer
Hej eksperter, Jeg skal importere noget data fra en Access db til en Oracle XE, Jeg har eksporteret til en csv fil. og prøver nu at importere denne. Når jeg sætter en tal kolonne ind fra csv filen brokker den sig i SQL: ORA-01722: invalid number Jeg har prøvet at bruge funktionen "to_number(VALUE,'9G999D99')" men jeg kan ikke få det til at spille. Jeg bruger komma som decimal seperator.
Forslag: Ved problemer af den art kan det af og til være lettere at finde fejlen ved at importere til en varchar2, og derefter at prøve at konvertere til en number...
Det er faktisk præcist det jeg har gjort, desværre brokker den sig stadig.
Synes godt om
Slettet bruger
09. december 2005 - 19:04#3
Hvis vi gætter på at du har importeret data til en tabel 'T' og dit felt hedder 'VALUE', skulle du kunne konvertere med TO_NUMBER. Måske skal du angive, hvilket tegn du bruger som decimaltegn (,) og gruppeseparator (.):
select TO_NUMBER(VALUE,'9G999D99',' NLS_NUMERIC_CHARACTERS = '',.''') from T;
Det her virker. select TO_NUMBER(CALCVALUE,'999999D9999',' NLS_NUMERIC_CHARACTERS = '',.''')as vals from REPLICA_TEMP; Men jeg kan ikke insert into REPLICA(REPLICAID,REPLICANAME,EXPERIMENTID,EXCLUDED, NOTE,VALUE) SELECT REPLICAID,REPLICANAME,EXPERIMENTID, EXCLUDED,NOTE, TO_NUMBER(CALCVALUE,'999999D9999',' NLS_NUMERIC_CHARACTERS = '',.''') FROM REPLICA_TEMP; ??
Øhh Mandag morgen... :-) Det virker nu nice tak for Hjælpen
Synes godt om
Ny brugerNybegynder
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.