SELECT * FROM TABLE1 WHERE TO_NUMBER(ID) > 0
解决方案 »
- Plsql读取指定路径的文件名
- 关于sql插入admin
- 请教一个sql的问题,字段作为查询条件的时候是否自动判断不能为null
- 有人删除我们oracle数据库的全部表,我怎样通过相关日志查询是哪个机器操作的和具体时间
- Oracle查询SQL2000某张表时,带过滤条件的语法怎么写?
- 看看下面的SQL怎么写
- 多表关联的执行率问题
- 一个很简单的问题,Oracle数据库复制问题??各位兄弟帮一忙,小弟我搞不定了!!!
- 请问同样的sql语句,在不同的oracle上为什么差别会如此之大?
- 求助根据表A和B中各自的日期计算时间差
- [急]监听进程不能解析在连接描述符中给出的Service_Name怎么能解决??
- 请教oracle查询显示的问题
我那id原来的类型是varchar2(50)
create or replace function my1 (myparameter in char) return integer is
straa char(255);
numbb int;
begin
straa:=trim(myparameter);
numbb:=to_number(straa);
return numbb;
excption:
when others
return 0;--在遇到“ORA-01722无效数字”时返回0
end;
create or replace function my1 (myparameter in varchar2) return number is
numbb int;
begin
numbb:=to_number(myparameter);
return numbb;
excption:
when others then
return 0;--在遇到“ORA-01722无效数字”时返回0
end;
如果你想判断是数字则:
如:dinya2003(OK)说的!
如果要判断类型则:
select DATA_TYPE from user_tab_columns where table_name like 'TABLE1' and COLUMN_NAME like 'ID';
v_string :=rtrim(input,'0123456789.');
if v_string is not null then
.....
end if;
grant execute on myCheck to public;
指定ID为NUMBER时,ID字段的值都是数字型的。
select data_type from user_tab_columns
where table_name='table1' and column_name='id'
可以看你的ID字段的类型。
"行号= 6 列号= 9 错误文本= PLS-00103: 出现符号 ":"在需要下列之一时: :=.(@%; "