我将如何修复这些 "ORA-00933: SQL command not properly ended" "ORA-00923: FROM keyword not found where expected" 错误?

How would I fix these "ORA-00933: SQL command not properly ended" "ORA-00923: FROM keyword not found where expected" errors?

本声明:

SELECT id, units, cost FROM   inventory_list WHERE  cost <= 20;

给我:

ORA-00923: FROM keyword not found where expected

虽然这条语句:

SELECT * FROM   items WHERE  ilt_id = 'il010230126' OR ilt_id = 'il010230128';

给我:

ORA-00933: SQL command not properly ended

不确定,可能与版本有关(以下 link 适用于 oracle 10g...但您可以在此站点上看到

https://docs.oracle.com/cd/B19306_01/em.102/b40103/app_oracle_reserved_words.htm

那个cost是oracle的保留关键字,所以用它作为列名是不明智的。
如果您无法控制 table 我认为您可以用双引号将其括起来,例如 select "COST" 以避免 oracle 将其作为保留字。

默认情况下,Oracle 以大写形式创建字段,因此字段名称需要大写,除非在创建 table 时通过用引号将其括起来强制为不同的大小写。

检查您的文件中没有不可见字符,并且您使用的编码正确。我有时会不小心引入它们,因为我有一个非英文键盘映射并且不小心按错了组合键。

只需再次输入您的 SQL 语句之一并对其进行测试。