www.9529.net > orAClE ORA722无效数字

orAClE ORA722无效数字

select * from user where INSTR( (select ',' || field || ',' from table_a where id = 1), ',' || TRIM(TO_CHAR(user_id )) || ',' ) > 0

TRUNC没法处理字符串,只能处理时间和数字,建议用substr截取字符串吧 substr(string1,1,2) string1 需要截取的字符串 1表示起始位置 2 表示截取长度 按理说TO_CHAR(hiredate,'year')就能直接用了,或者用TO_CHAR(hiredate,'yyyy')

楼主的问题 其实很明显 你的第一条语句是表HADS 和where后面的的表HA 做了关联 我仔细看了一下你的条件 最终外面的查询where结果是where null>8 and 0>0 那么这个条件肯定会报错的,不是条件合在一起报错 。 第二条语句 没有指定HAMDSN is null ...

select substr('0240/00',INSTR('0240/00','/',1,3)+1,100) from dual你把上边这个执行一次,结果就是0240/00 关键你那个除数应该是什么,你自己也没说明,所以不知怎么给你改

你看一下,billion应该有非数字的内容 转成字符进行比较 select * from A,B where to_char(A.CourseNum)=B.billon;

你的birthday这一列的数据类型是否是日期型,如果是的话那么就不能直接使用to_number这种方式来强制类型转换,而应该像你先前那样使用to_char作为过渡。而如果birthday这一列本身就是字符类型的话,那就要看一下这个日期是以何种方式存储的,例...

select * from user where INSTR( (select ',' || field || ',' from table_a where id = 1), ',' || TRIM(TO_CHAR(user_id )) || ',' ) > 0

你查看下A表中phone的字段是什么类型,然后在看下B表中phone是什么类型。我觉得应该是A或B表中phone里面包含了非数字所以才会报错。

由于非数字字符转化为数字时报的错。 需要将一列varchar2类型的数字字符的字符串转化成number型。 用to_number就会报错。 现在只想到两种方法: 1、修改表结构,增加多一列,把那列包含需要转化为number型的数据放进来; 2、在SQL做功夫,分别对...

--SF_BRJSK: --name-姓名,money-总金额,date-日期 select to_date(date, 'yyyyMMdd') as 日期, sum(money)/count(1) as 金额 from SF_BRJSK group by to_date(date, 'yyyyMMdd')

网站地图

All rights reserved Powered by www.9529.net

copyright ©right 2010-2021。
www.9529.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com