一般情况下出现 “ > ORA-00936: missing expression ”

无非是这几种原因:

  1. 选取的最后一个字段与from之间有逗号
  2. SQL语句中有表字段是oracle关键字
  3. 语句之间缺少逗号等分隔符
  4. 查询语句中写了where却缺少必要条件字段定义
  5. 。。。。。

今天遇到问题不是上面的情况,导致的原因是“LanguageLevel ,Educational,[Application] .....,” select的某字段加了中括号,在SQL中这个是正常的,

下面有关sql语句中[]的信息适用于Sql Server、Access等多种数据库。

  1. sql语句中加[]是为了防止歧义,避免与系统保留关键字冲突,使计算机能识别。sql语句中有些字段可能是关键字,比如user是sql server数据库的关键字,password是Access数据库的关键字,这时候你直接用字段名就会报错,如果加了[]就可以正常执行。
  2. 大部分情况下,为字段加上[]是正确的选择,但并不是所有的字段名都能加上中括号。TOP关键字后面的字段既不能加小括号也不能加中括号,还有ON后面的条件表达式里的字段都不能加括号。
  3. 解决较长的中文名表名可能会被不识别的问题。

而ORACLE中也有类似于SQL中的 [] 的表达式,那就是双引号,

比如某张表的一个字段名为:update,当我们进行查询的时候总会出错。但是只要把update加上双引号就好了

select "update" from table;

ORA - 00936 : missing expression Cause: A required part of a clause or expression has been omitted. For PS D:\parttime\python\django\guanxiangzhiji> python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Traceback (most recent call last): File "D:\app\anaconda\lib\site-packages\django\db\backends\utils.py", line 82, in _ex 本来是在PHP代码里面执行的 SQL 语句,结果调试的时候报错: ORA 00936 missing expression ,百度了这个问题,没有找到答案,于是自己加了输出调试,发现 SQL 语句执行的时候报错,将 SQL 语句放到PL developer 里面执行,依旧报错 00936 ,但是在from前面出现了红色波纹,仔细查看from所在行及以上行代码,发现select的最后一个字段后面多了个逗号,所以一直报... SQL > select l.awuname,g.aultext,d.aulword 2 from aw_usercotrl l,aw_userlog g,aw_userlog_lword d 3 where l.awuid = g.awuid and g.aulid = d.fkauli... ORA - 00936 : missing expression Cause:A required part of a clause or expression has been omitted. For example, a SELECT statement may have been entered without a list of columns or expression s or with a... ORA - 00936 : missing expression Cause:A required part of a clause or expression has been omitted. For example,a SELECT statement may have been entered without a list of columns or expression s or with an i... ora -01033: oracle initialization or shutdown in progress 解决方法 ora -01033: oracle initialization or shutdown in progress 解决方法 ora -01033: oracle initialization or shutdown in progress 解决方法 ora -01033: oracle initialization or shutdown in progress 解决方法 从pdm的preview生成的 sql 语句在navicat premium连接 oracle 建表,执行到索引语句的时候报了这个 错误 ORA - 00936 : missing expression ,创建索引语句为: create index "STUDENT_NO" on "STUDENT" ( 解决方法:括号里应该填表 对应 的字段 create index "STUDENT_NO" on "...