可以用as,例如
select round(100*field1(nvl(field2,0)*nvl(fun,0),2) as field1,nvl(unsuc_mt_usr_rsn,0) as field2,filed3 from mytable然后分别用rs("field1"),rs("field2")和rs("fiedl3")来取值
select round(100*field1(nvl(field2,0)*nvl(fun,0),2) as field1,nvl(unsuc_mt_usr_rsn,0) as field2,filed3 from mytable然后分别用rs("field1"),rs("field2")和rs("fiedl3")来取值
var str="select round(100*field1(nvl(field2,0)*nvl(fun,0),2),nvl(unsuc_mt_usr_rsn,0),filed3 from mytable";
str=str.replace(/\s/g,'');
var one=str.match(/\(.+?\),/).join('');
one=one.replace(/\),$/,')');
var two=str.match(/,[^\(\)]+?\([^\(\)]+?\),/).join('').substring(1);
two=two.replace(/\),$/,')');
var three=str.match(/,\w+from/);
three=three.join('').substring(1).replace('from','');
alert(one);
alert(two);
alert(three);</script>
如果select里面有函数什么的 多重嵌套什么的 比较难处理啊
<SCRIPT LANGUAGE="JavaScript">
<!--
var s = "select round(100*field1(nvl(field2,0)*nvl(fun,0),2)) as field1,nvl(unsuc_mt_usr_rsn,0) as field2,filed3 from mytable";
while(/(\([^()]+\))/.test(s)) s = s.replace(RegExp.$1, "");
s = s.replace(/select\s+([\w\W]+)\s+from.*/i, "$1");
var a = s.match(/(\w+)(?=$|,|\])/g);
for (var i=0; i<a.length; i++)
{
alert("第 "+ (i+1) +" 个字段名 = "+ a[i]);
}
//-->
</SCRIPT>
http://community.csdn.net/Expert/TopicView3.asp?id=3931547