Xác định xem Dữ liệu Trường trong Oracle có thuộc loại Số hay không
Vấn đề
Bạn chỉ muốn truy vấn những thứ đó từ trường varchar2 hoặc char chứa dữ liệu số mà không có bất kỳ ký tự nào khác.
Giải pháp
Tạo một hàm để xác định điều này:
Create or Replace Function is_number (iNumber in Varchar2)
Return Varchar2
is
nVal Number;
Begin
nVal := To_Number(iNumber);
-- if there is no error
Return('TRUE');
Exception
when others then
-- error during conversion
Return('FALSE');
end; Sử dụng trong truy vấn:
Select Empno, Ename, dummychar from emp where is_number(dummychar) = 'TRUE';