我估计1不是能执行,而是还没执行到那个报错的无效数字,你应该是没完全展示所有数据。 整一个判断数字的函数,判断一下a.build_id是不是存在空格或者非数字CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2) RETURN NUMBER IS v_str FLOAT; BEGIN IF str IS NULL THEN RETURN 0; ELSE BEGIN SELECT TO_NUMBER (str) INTO v_str FROM DUAL; EXCEPTION WHEN INVALID_NUMBER THEN RETURN 0; END; RETURN 1; END IF; END isnumeric;
整一个判断数字的函数,判断一下a.build_id是不是存在空格或者非数字CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)
RETURN NUMBER
IS
v_str FLOAT;
BEGIN
IF str IS NULL
THEN
RETURN 0;
ELSE
BEGIN
SELECT TO_NUMBER (str)
INTO v_str
FROM DUAL;
EXCEPTION
WHEN INVALID_NUMBER
THEN
RETURN 0;
END; RETURN 1;
END IF;
END isnumeric;
谢谢,确实是build_id列有错误数据!