- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
create or replace
FUNCTION NumberTrue(VAL in varchar2)
RETURN BOOLEAN IS
Result varchar2(100);
i integer;
c char(1);
V_ReturnValue BOOLEAN;
BEGIN
Result:='';
if not (VAL is NULL) then
for i in 0..length(VAL) loop
c:=substr(VAL,i,1);
if (c>='0') and (c<='9') then V_ReturnValue :=TRUE;
else
V_ReturnValue :=FALSE;
GOTO end1;
end if;
end loop;
end if;
<<end1>>
return V_ReturnValue;
END;
guest 23.03.2012 10:42 # −1
FUNCTION NumberTrue(VAL in varchar2) RETURN BOOLEAN
IS
BEGIN
TO_NUMBER(VAL);
RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
RETURN FALSE;
END;
З.Ы.: А разве в Oracle есть тип BOOLEAN?
wecanstoptrain 06.04.2012 17:55 # 0
З.Ы.: В PL/SQL есть тип BOOLEAN.
wecanstoptrain 06.04.2012 17:58 # 0
wecanstoptrain 06.04.2012 18:02 # 0
RETURN REGEXP_LIKE(VAL, '^\d+$');