用sql语句能否判断出:一整形变量是否在数字组成的字符串中(逗号分隔)? 不对,遇到instr('12,34','2')就有问题我再想一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if instr(f1,to_char(n))=0 //不存在 不对,遇到instr('12,34','2')就有问题我再想一下 数字不会这样表示吧?"1,2,3,4", “12,121,234"还差不多不过无所谓下面的方法肯定可以select count(*) from t1 wherereplace(f1,',')=to_char(n);replace(f1,',') 去掉f1的逗号 decode(substr(f1,instr(f1,to_char(n))-1,1) || substr(f1,instr(f1,to_char(n))+length(to_char(n)),1), null,'YES',',','YES',',,','YES','NO') 其实上面的代码就是判断在n前后的两个字符是否是','或者null,如果是,那就符合条件,返回'YES';否则返回'NO'。以上代码经过测试成功。 多谢各位!我这样用的:select * from t1 where instr(f1,to_char(2))>0 得到所有包含2的记录. SELECT * FROM T1 WHERE ',' || f1 || ',' LIKE (',' || NUM || ',') SORRY 低级错误应当加‘%’SELECT * FROM t1 WHERE (',' || f1 || ',') LIKE ('%,' || num || ',%') KingSunSha(弱水三千):当f1='12,34' n=12时 判断有误 要写得完整,还挺复杂的,下面这个版本应该没有问题了:selectdecode(instr(f1,to_char(n)), 0, 'NO',--如果instr返回0,表示不存在 --如果instr得到1,表示在字符串首, --则要判断n的后一个字符是','或者null 1, decode(substr(f1,1+length(to_char(n)),1), null,'YES',',','YES','NO'), --其他情况如上 decode(substr(f1,instr(f1,to_char(n))-1,1) || substr(f1,instr(f1,to_char(n))+length(to_char(n)),1), null,'YES',',','YES',',,','YES','NO'))from ... oracle哪些命令必须commit才能生效? 排序问题 order by SQL语句求优化 请教用存储过程生成文件时如何实现换行? MS SQL 表与 ORACLE 表 研究疑惑 pl/sql执行部分是否可以包含ddl语句 我穷呀,没分了。但我还是要求助各位? 请教高手:为什么我在本地配置客户端总是测试不成功 PLSQL develop 出现这种错误 oracle rac 配置 virtual IP ,VIP 能在节点上PING通吗 如何测试返回游标的PL/SQL? oracle
我再想一下
“12,121,234"还差不多
不过无所谓下面的方法肯定可以
select count(*) from t1 where
replace(f1,',')=to_char(n);replace(f1,',') 去掉f1的逗号
substr(f1,instr(f1,to_char(n))+length(to_char(n)),1),
null,'YES',',','YES',',,','YES','NO')
以上代码经过测试成功。
select * from t1 where instr(f1,to_char(2))>0
得到所有包含2的记录.
应当加‘%’
SELECT * FROM t1 WHERE (',' || f1 || ',') LIKE ('%,' || num || ',%')
当f1='12,34' n=12时 判断有误
select
decode(instr(f1,to_char(n)),
0, 'NO',--如果instr返回0,表示不存在
--如果instr得到1,表示在字符串首,
--则要判断n的后一个字符是','或者null
1, decode(substr(f1,1+length(to_char(n)),1),
null,'YES',',','YES','NO'),
--其他情况如上
decode(substr(f1,instr(f1,to_char(n))-1,1) ||
substr(f1,instr(f1,to_char(n))+length(to_char(n)),1),
null,'YES',',','YES',',,','YES','NO'))
from ...