ORA-01810: 格式代码出现两次
使用了 TO_DATE('2018-09-24 00:00:00','YYYY-MM-DD HH:mm:ss')
格式化字符串出现问题,不应该将某个格式重复两次,
正确的是TO_CHAR('2018-09-01 00:00:00','YYYY-MM-DD HH:MI:SS')
对于24小时制,HH支持的不好,正确的是:
TO_CHAR('2018-09-01 00:00:00','YYYY-MM-DD HH24:MI:SS')
参考:https://www.cnblogs.com/Iyce/archive/2013/07/11/3183654.html
ORA-00913: 值过多
Insert into XX(?,?,?) values(?,?,?,?) 这种情况
ORA-01745:无效的主机/绑定变量名
原因,sql语句中,两个填充变量间没有写逗号
如果使用了参数传递赋值,也要关注在参数中是否有和oracle重复的关键字比如:LEVEL
ORA-00911: invalidcharacter
删除sql中的分好“;”
ORA-00933: SQL command not properly ended
sql语句未能正常结束:查找之后发现,查询里使用了AS 别名,oracle sql查询不支持as 表名的用法,使用别名时,直接跟在表名后即可
当然还有其他的原因会出现这个异常, 比如
1:可能SQL语句中关键字前后缺少空格
2:Oracle 给表起别名时,直接在表名的后面空格别名就可以,不需要AS
3 : SQL 语句中缺少关键字或者多了某个关键字,比如: AND
4:SQL 语句中缺少关键字或者多了某个标点符号,比如:,
5:数据库不同的版本或不同的数据库支持的SQL的语法规则是不一样的,一句SQL语句在一个数据中是正确的在另一个数据库中未必也正确
UPDATE A
SETID=B.ID
FROMA,B
WHEREA.NAME=B.NAME
这个错误;
UPDATE A
SETID=(
SELECT ID
FROM B
WHERE A.NAME=B.NAME
)
这个正确