问题描述
一段sql语句,在postgre数据库中运行未出现问题,切换到oracle数据库后报错。SQL语句如下
select T.code as CODE
from info_table as T
在oralcle执行后报如下错误
> ORA-00933: SQL command not properly ended
问题排查与解决
在网上查询了该报错之后看到了如下信息
出现这个错误的情况还是挺多的,当抛出此错误提示信息,代表着SQL语句本身就是有问题的!(ORA-00933:SQL命令没有正确的结束)比如:
1:可能SQL语句中关键字前后缺少空格
2:Oracle 给表起别名时,直接在表名的后面空格别名就可以,不需要AS
3:SQL 语句中缺少关键字或者多了某个关键字,比如:AND
4:SQL 语句中缺少关键字或者多了某个标点符号,比如:,
5:数据库不同的版本或不同的数据库支持的SQL的语法规则是不一样的,一句SQL语句在一个数据中是正确的在另一个数据库中未必也正确
我的语句中正好存在表别名,且加了as
关键字。去掉as
改成如下语句,顺利解决问题
select T.code as CODE
from info_table T