如何避免在SQL语句中除数为零的情况 select decode(zzc,0,0,fz/zzc) from table 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的ZCC不一定是这个字段的,是不确定的.不过还是要谢谢. select fz/(DECODE(zzc,0,1,zzc)) from table 如果不确定,那就只有先判断了,再执行sql语句了!不知楼下有没有什么好的办法! 我自动生成的一些SQL,其中FZ/ZZC是由前台人员设定的.前台人员不会懂SQL的.他在设定公式时我自动产生SQL,所以我想现在只有在生成SQL时先用正则表达式先取出所有被除数才行.大家还有什么好的办法. 我写了个JAVASCRIPT函数,先把公式传入返回来把所有的除数都经过decode.function findcs(l_gs){ var l_newgs,l_str; l_newgs = l_gs; var i,j,k,l; k = 0; l = 0; i = l_gs.indexOf("/",k); while(i>0) { l_str = ""; if(l_gs.substr(i+1,1)!="(") { k = 0;} else { k = 1;} for(j=i+1;j<l_gs.length;j++) { if(k>0) {//表示有括号开始的。如果有则对应括号就可以结束。 l_str = l_str + l_gs.substr(j,1) if(l_gs.substr(j,1)=="(") k = k+1; if(l_gs.substr(j,1)==")") k = k-1; if(k==0) { j = l_gs.length; } } else {//没有括号 if(l_gs.substr(j,1)=="(") l = l+1; if(l_gs.substr(j,1)==")") l = l-1; if(l_gs.substr(j,1)=="+"||l_gs.substr(j,1)=="-") { j = l_gs.length; } else { l_str = l_str + l_gs.substr(j,1) } } } if(l!=0) l_str = l_str.replace(")",""); l_newgs = "decode("+l_str+",0,0,"+l_newgs+")"; i = l_gs.indexOf("/",i+1) } return l_newgs;} 关于简单的procedure的问题 修改oracle最大游标数的问题。。谢谢各位了 问个排序的问题(多表) 如何记录用户登录使用的账号、登录是否成功、登录时间 公司的领导想让我学习做报表,我初接触ORACLE,有什么合适的书能让我快速上手的? ★请问oracle里边字符处理的select语句?? 紧急求助:多表关联查询的sql构造 快照日志在表刷新后,为什么不能清空数据?? 怎么连接不上啊?? 能否强行中断某SQL语句的执行 [求助]Oracle9204+AS4安装出错 我想在一个已做好的表中建一个列(number),其内容为从1开始顺序增加的整数.有这样的SQL语句吗?
如果不确定,那就只有先判断了,再执行sql语句了!
不知楼下有没有什么好的办法!
function findcs(l_gs)
{
var l_newgs,l_str;
l_newgs = l_gs;
var i,j,k,l;
k = 0;
l = 0;
i = l_gs.indexOf("/",k);
while(i>0)
{
l_str = "";
if(l_gs.substr(i+1,1)!="(")
{ k = 0;}
else
{ k = 1;}
for(j=i+1;j<l_gs.length;j++)
{
if(k>0)
{//表示有括号开始的。如果有则对应括号就可以结束。
l_str = l_str + l_gs.substr(j,1)
if(l_gs.substr(j,1)=="(")
k = k+1;
if(l_gs.substr(j,1)==")")
k = k-1;
if(k==0)
{
j = l_gs.length;
}
}
else
{//没有括号
if(l_gs.substr(j,1)=="(")
l = l+1;
if(l_gs.substr(j,1)==")")
l = l-1;
if(l_gs.substr(j,1)=="+"||l_gs.substr(j,1)=="-")
{
j = l_gs.length;
}
else
{
l_str = l_str + l_gs.substr(j,1)
}
}
}
if(l!=0)
l_str = l_str.replace(")","");
l_newgs = "decode("+l_str+",0,0,"+l_newgs+")";
i = l_gs.indexOf("/",i+1)
}
return l_newgs;
}