LittlePicasso Geschrieben 24. Juli 2003 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DerMatze Geschrieben 24. Juli 2003 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
AxlHammer Geschrieben 24. Juli 2003 Teilen 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 Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
LittlePicasso Geschrieben 24. Juli 2003 Autor Teilen Geschrieben 24. Juli 2003 Funktioniert. Ich danke euch. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.