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. Zitieren
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; Zitieren
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 Zitieren
LittlePicasso Geschrieben 24. Juli 2003 Autor Geschrieben 24. Juli 2003 Funktioniert. Ich danke euch. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.