在sql中处理单引号对象的查询
我在jdbc中使用了一个sql查询在sql中处理单引号对象的查询,sql,oracle,jdbc,Sql,Oracle,Jdbc,我在jdbc中使用了一个sql查询 SELECT COUNT (COST_CENTER) AS count FROM IMDB1_FINANCE_BUDGET where COST_CENTER='object name' 这工作正常,但我有一些测试对象,比如'0654603?开始时使用单报价的SSG会计现在查询将是 SELECT COUNT (COST_CENTER) AS count FROM IMDB1_FINANCE_BUDGET where COST_CENTER=''0654603
SELECT COUNT (COST_CENTER) AS count FROM IMDB1_FINANCE_BUDGET where COST_CENTER='object name'
这工作正常,但我有一些测试对象,比如'0654603?开始时使用单报价的SSG会计现在查询将是
SELECT COUNT (COST_CENTER) AS count FROM IMDB1_FINANCE_BUDGET where COST_CENTER=''0654603 ? SSG '
现在它抛出异常
java.sql.SQLException: ORA-00933: SQL command not properly ended
如何处理这类对象在这种情况下处理单个引用的最佳方法是使用 例如,q'['SCOTT]'
SQL> WITH DATA AS(
2 SELECT '''SCOTT' nm FROM dual
3 )
4 SELECT * FROM DATA WHERE nm = q'['SCOTT]';
NM
------
'SCOTT
SQL>
当然,用单引号括起来的传统方法仍然有效-
SQL> WITH DATA AS(
2 SELECT '''SCOTT' nm FROM dual
3 )
4 SELECT * FROM DATA WHERE nm = '''SCOTT';
NM
------
'SCOTT
SQL>
你可以用