You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle查询报ORA-00911无效字符错误,请求协助排查

排查ORA-00911: invalid character错误

针对你的Oracle查询报错,按以下步骤排查:

  • 替换HTML转义字符:你的SQL中使用了&lt;这个HTML转义符号,Oracle无法识别,必须替换为实际的小于号<。
  • 检查隐藏特殊字符:如果替换后仍报错,可能是SQL中存在不可见的特殊字符(比如复制粘贴时带入的全角空格、非标准换行符等)。可以将SQL复制到纯文本编辑器(如Notepad++),开启"显示所有字符"功能,排查并删除这类无效字符。

修正后的SQL示例:

SELECT EXAM_NUMBER, DATE_EXAM, DATE_UNIV
  FROM UNIVERSITY.C_CALENDAR cc2
 WHERE EXAM_NUMBER = 'L'
   AND LAST_FILE = 'OK'
   AND MATTER = 'MATH'
   AND STATE_CODE NOT IN ('FC')
   AND TO_CHAR(DATE_EXAM, 'YYYY-MM-DD') = TO_CHAR(SYSDATE - 2, 'YYYY-MM-DD')
   AND TO_CHAR(DATE_UNIV, 'YYYY-MM-DD HH24:MI:SS') < TO_CHAR(SYSDATE - 5, 'YYYY-MM-DD HH24:MI:SS')
 ORDER BY DATE_EXAM DESC

额外优化建议:尽量避免用TO_CHAR转换日期后比较,直接用日期类型运算更高效,还能利用字段索引。比如:

SELECT EXAM_NUMBER, DATE_EXAM, DATE_UNIV
  FROM UNIVERSITY.C_CALENDAR cc2
 WHERE EXAM_NUMBER = 'L'
   AND LAST_FILE = 'OK'
   AND MATTER = 'MATH'
   AND STATE_CODE NOT IN ('FC')
   AND DATE_EXAM >= TRUNC(SYSDATE) - 2
   AND DATE_EXAM < TRUNC(SYSDATE) - 1
   AND DATE_UNIV < SYSDATE - 5
 ORDER BY DATE_EXAM DESC

内容的提问来源于stack exchange,提问作者Andy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 16:49:57