LittlePicasso Geschrieben 24. Juli 2003 Geschrieben 24. Juli 2003 Hallo, ich habe folgendes Problem: In einer Oracle-Datenbank soll ich eine Funktion schreiben, die u.a. überprüft, ob in einem String ein nummerischer Wert steht. Weiß da einer von euch, mir welcher Funktion ich das machen könnte. Wenn ihr noch weitere Informationen braucht, dann fragt bitte. Ich danke euch.
DerMatze Geschrieben 24. Juli 2003 Geschrieben 24. Juli 2003 Stammt nicht von mir, sondern von nem Kollegen, muss entsprechend umbauen, aber das Pronzip ist, dass man den ASCII Code prüft und schaut, ob es in der Coderange von Zahlen ist. FUNCTION Check( pi_str_ToCheck IN VARCHAR2 ) RETURN boolean IS l_num_Char NUMBER; l_num_Length NUMBER; -- BEGIN l_num_Length := LENGTH(pi_str_ToCheck); IF l_num_Length > 0 THEN -- FOR idx IN 1..l_num_Length LOOP -- l_num_Char := ASCII(SUBSTR(pi_str_ToCheck,idx,1)); -- IF NOT (l_num_Char BETWEEN 48 AND 57) -- 0 ... 9 THEN return FALSE END IF; END LOOP; END IF;
AxlHammer Geschrieben 24. Juli 2003 Geschrieben 24. Juli 2003 Probiers mal so: FUNCTION isnumeric ( string IN VARCHAR2) RETURN boolean IS n NUMBER; BEGIN n := to_number(string); return(TRUE); EXCEPTION when others then return(FALSE); END; Gruß, Axl
LittlePicasso Geschrieben 24. Juli 2003 Autor Geschrieben 24. Juli 2003 Funktioniert. Ich danke euch.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden