Oracle 数据库中执行SQL语句 出现 [Err] ORA-00936: 缺失表达式! 但在SQL server 中可以使用 大家帮帮忙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 数据库中执行SQL语句 出现 [Err] ORA-00936: 缺失表达式! 但在SQL server 中可以使用 大家帮帮忙相关的知识,希望对你有一定的参考价值。

select AAA.BMJC,(AAA.qf+AAA.sf) as YSBS,AAA.sf AS SSBS,convert(float(2),AAA.[sf])/convert(float(2),AAA.qf+AAA.sf) as cbl from(select com.BMJC BMJC, qf=(select count(*) from SF_YHXX Q where SUBSTRING(Q.BMBH,1,1) = com.BMBH),sf=(select count(*) from SF_SFXX Q where SUBSTRING(Q.BMBH,1,1) = com.BMBH and Q.MZBZ='0')from SF_QFXX qf,SYS_BMXX com where 1=1 and com.SZBS in (0,1) and SUBSTRING(qf.BMBH,1,1) = com.BMBH group by com.BMJC,com.BMBH) as AAA

convert在sqlserver中的作用与在oracle中的作用是不一样的
目测你想要的是保留两位小数
oracle中应该使用round(AAA.sf,2),round(AAA.qf+AAA.sf,2)
如果末尾的0也需要显示的话 使用to_char函数
不好意思,只提供了方法,其实把你的需求说出来更好一点,因为我也不太了解sqlserver
参考技术A float()不是Oracle的函数, oracle 中可以使用to_number()函数转换成整形

以上是关于Oracle 数据库中执行SQL语句 出现 [Err] ORA-00936: 缺失表达式! 但在SQL server 中可以使用 大家帮帮忙的主要内容,如果未能解决你的问题,请参考以下文章

Oracle:PL/SQL中用SQL语句添加数据 中文出现乱码问题?[有图]

在Oracle中执行如下语句报在 FETCH 语句的 INTO 列表中值数量出现错误

oracle 中怎样查看以前执行过的SQL语句?

如何将oracle数据库的sql语句执行结果保存到一个sql文件中?

ORACLE 数据库 SQL 转换 只取 年和月

oracle 执行sql语句提示用户不存在