选择查询oracle 10g中的条件给出ORA-00933:SQL命令未正确结束

时间:2014-12-24 06:27:47

标签: sql oracle jdbc

我在oracle数据库中有一个表,其中一列ONSITE_MANAGER具有类似

的数据
ONSITE_MANAGER 
--------------
jhon
'bikram'
'hari'singh
"'vijay'kumar"
kumar

选择具有匹配记录的特定数据我正在使用以下选择查询

SELECT * 
from  (
    Select M.*, Rownum R 
    From IMDB1_FINANCE_ACTUAL M
) 
where  r > 0 
   and r <= 10 
   AND ONSITE_MANAGER=''bikram''

这是给ORA-00933: SQL command not properly ended

但是当我使用

ONSITE_MANAGER='jhon' OR ONSITE_MANAGER='kumar'它正在提取数据而没有任何问题。

有人让我知道用于获取数据的查询,该数据采用单引号,双引号和混合值,如上表所示

3 个答案:

答案 0 :(得分:1)

使用ora10g以后的new quoting method

  

您选择字符串中不存在的字符,然后执行   不需要转义文字

中的其他单引号

所以你的查询将是

SELECT * from  (Select M.*, Rownum R From IMDB1_FINANCE_ACTUAL M) where  r > 0 and r <= 10 AND ONSITE_MANAGER=q'!'bikram'!'

答案 1 :(得分:0)

我认为您在查询中有语法错误: 请尝试以下方法:

SELECT * from  (Select M.*, Rownum R From IMDB1_FINANCE_ACTUAL M) where  r > 0 and r <= 10 AND ONSITE_MANAGER='bikram'

答案 2 :(得分:0)

在oracle中: 您需要转义下面的单引号字符

SELECT * from  (Select M.*, Rownum R From IMDB1_FINANCE_ACTUAL M) where  r > 0 and r <= 10 AND ONSITE_MANAGER='''bikram'''
                                                                                                             #############