pl sql developer应用问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pl sql developer应用问题相关的知识,希望对你有一定的参考价值。

我在用pl sql developer工作时发现,在sql2000可执行的语句不能执行。如:select left(科目代码,8) 科目代码,sum(借方金额) 借方金额,sum(贷方金额) 贷方金额
from 凭证库
where left(科目代码,1)='4' group by left(科目代码,8)
好象where或select 中不能执行left,但如遇上述问题应如何解决,请高人指点。另外,是不是pl sql中select不能执行计算查询,sql2000可是能的,另外我在pl sql中select * from pz where year(年度)=‘2010’好相也不能执行,提示“ORA-00940:"year":标识符无效”。上面不能执行时也提示“ORA-00940:"left":标识符无效”.

有些语言是通用的,而有些函数或者形式是某个数据库独有的。
YEAR()就是一个,这个是SQLSERVER的函数,在ORACLE下是不支持的。要换成ORACLE的函数。TO_CHAR(年度,'YYYY') = '2010'这样来转。
ORACLE都是使用TO_CHAR(日期,'格式')来获取日期类型具体的值的。
而LEFT,也不是ORACLE支持的函数,换成SUBSTR(字符串或字段,起始位置,截取长度)这个来完成。
select substr(科目代码,1,8) 科目代码,sum(借方金额) 借方金额,sum(贷方金额) 贷方金额
from 凭证库
where substr(科目代码,1,1)='4' group by substr(科目代码,1,8)

查询当前日期的月份等
select to_char(sysdate,'yyyy'), to_char(sysdate,'mm'), to_char(sysdate,'dd') from dual追问

你的回答非常清楚,深表感谢。但我在使用时系统仍提示“ORA-00904:"SUBSRT":标识符无效”。这是我使用的具体内容
select substr(功能分类代码,1,5) 功能分类代码,sum(借) 借方金额,sum(贷) 贷方金额
from pz
where subsrt(科目代码,1,3)='501'
group by substr(功能分类代码,1,5)
另外,如这样的命令where subsrt(科目代码,1,3)='501'and 摘要 not like '%转结余%',该如何解决

追答

“ORA-00904:"SUBSRT":
您好,您写错了函数名。正确的名字是SUBSTR,所以会提示错误。
where substr(科目代码,1,3)='501'and 摘要 not like '%转结余%'
这个语句是支持的,没问题,直接在WHERE条件里面写就好了。

参考技术A left(科目代码,1) 是SQL server独有的语法,在oracle中需要换成 substr(科目代码,1,1) 参考技术B oracle 语法 与 MSSQL的 语法有很多不一样的 参考技术C 连接数据库驱动包~~~!和数据库打交道的桥
追问

连接数据库驱动包如何连接,请指教

以上是关于pl sql developer应用问题的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL Developer 如何记住密码

pl/sql developer和sql developer有啥区别?

pl/sql developer中文乱码,为啥呢?怎么解决?Oracle问题

oracle数据库中有数据,通过pl/sql查询不到,用sqlplus能查到,PL/SQL developer会对数据进行本地缓存

如何使用PL/SQL Developer查看和杀掉session

pl/sql developer中文乱码,为啥呢?怎么解决?Oracle问题