0

代码 :

SELECT * FROM Grade   
WHERE grade = ‘MG’ ‘1-9’  
SELECT * StaffNo, Name, DOB, ReportsTo,  
FROM Staff  
ORDER BY DOB DESC; 

我不断得到

ORA-00911: 无效字符

这是代码的问题吗?

4

2 回答 2

2
于 2012-08-04T17:29:34.767 回答
1

这就是问题所在,可能有两个原因:

WHERE grade = ‘MG’ ‘1-9’  

实际上是否在查询中包含了大引号?如果是这样,那可能就是 Oracle 抱怨无效字符的原因。

但是,目前还不清楚您要匹配的确切内容。你想要任何以 MG 开头,然后是 1 到 9 之间的字符吗?如果是这样,您可以使用:

WHERE grade BETWEEN 'MG1' AND 'MG9'

如果这不是您的意思,您需要更仔细地解释您正在尝试做的事情 - 并理解如果人类无法理解您的意图,SQL 解析器就更不可能......

于 2012-08-04T08:32:22.650 回答