Avatar billede pgroen Nybegynder
20. februar 2009 - 12:17 Der er 2 kommentarer og
1 løsning

to_number og NLS...

Et lille feinschmäkerspørgsmål:

Jeg skal have konverteret en varchar2 til en number.
- i et miljø med 'skiftende' NLS-opsætninger

varchar'en kan have mange forskellige udformninger

fx.
  '170000000000000000000.0000000007'
  '8'
  '1299999999999999999999.8'

osv.

Skal man lave det 'efter bogen' bliver det noget i stil med:

SELECT
  to_number(
    '12.345',
    '9999999999999999999999999999D9999999999999999999999999999',
    'NLS_NUMERIC_CHARACTERS=''.,''')
FROM
  dual;

-Men der må da findes en kortere og mere læselig notation ???

(Jeg er ikke meget for at bruge DBMS_SESSION.SET_NLS, da man så skal holde styr på den oprindelige nls-opsætning, og tage højde for exceptions og andet bøvl)
Avatar billede arne_v Ekspert
22. februar 2009 - 05:48 #1
Du laver vel en FUNCTION og bruger den alle steder.

Og hvis der er for meget kode logik i det så lav den FUNCTION i Java.
Avatar billede pgroen Nybegynder
24. februar 2009 - 11:51 #2
Tjoh, jeg har allerede oprettet sådan en funktion, det var blot min æstetiske sans, der blev generet...

Jeg ville bare lige tjekke om jeg havde overset noget helt elementært!

Så smid et svar :-)
Avatar billede pgroen Nybegynder
23. november 2009 - 08:48 #3
Lukker...
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

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