今天在oracle中執行插入語句的時候報了一個奇怪的錯誤,在程序中報的錯誤是ORA-01745: 無效的主機/綁定變量名,網上一查說是缺失逗號,在查詢分析器執行的時候報缺失的逗號,仔細看了一下也沒有缺啊,緣由最後被找到了html
錯誤的代碼
INSERT INTO TABLE (GROUPID,GROUPDOCTORID,GROUPWORK,"LEVEL",OPERATORID,OPERATORTIME) VALUES ('1','1','1','1','1',2016/11/18 11:05:32)
正確的代碼
INSERT INTO TABLE (GROUPID, GROUPDOCTORID, GROUPWORK, "LEVEL", OPERATORID, OPERATORTIME) VALUES ('1','1','1','1','1',to_date('2016/11/18 11:05:32','yyyy-mm-dd hh24:mi:ss')
Oracle 中把時間字符串轉換爲時間類型的語法爲:
to_date('2013-04-29 15:50:54','yyyy-mm-dd hh24:mi:ss')
to_date(to_char(2013-04-29 15:50:54,'YYYY-mm-dd'),'YYYY-mm-dd')oracle
-------------------------------------------------------------------------------------------spa
修正:ORA-01745: 無效的主機/綁定變量名code
若是使用了參數傳遞賦值,也要關注在參數中是否有和oracle重複的關鍵字orm
"INSERT INTO T_DOCTOR_DETAIL (GROUPID,GROUPDOCTORID,GROUPWORK,OPERATORID,OPERATORTIME,\"LEVEL\") " +//\"LEVEL\", "VALUES (@GROUPID,@GROUPDOCTORID,@GROUPWORK,@OPERATORID,@OPERATORTIME,@LEVEL)"; //此行中@LEVEL中在執行是也會被提示爲關鍵字,修改參數名稱便可