我有一个表,其中包含名称为O'NEILL的字符串类型的记录,当我使用以下查询时使用查询进行搜索:
select * from street_list where str_name='O'NEILL AVE'
我确实收到了以下错误:
12:00:16 [SELECT - 0 row(s),0.000 secs] [错误代码:933,SQL状态:42000] ORA-00933:SQL命令未正确结束
您能否指导我如何搜索我的数据库中的记录。我使用的是oracle 11 g。
答案 0 :(得分:2)
试
select * from street_list where str_name='O''NEILL AVE'
e.g。
with street_list as
(select 'O''NEILL AVE' as str_name from dual)
select * from street_list where str_name = 'O''NEILL AVE'
答案 1 :(得分:0)
我认为您没有完全匹配的数据,因此您可以通过以下方式使用查询:
select * from street_list where str_name like 'O''NEILL AVE%'
答案 2 :(得分:0)
select * from street_list where str_name='O''NEILL AVE'
此查询工作正常。正如你在你的记录字符串类型中所说的那样,名字为O' NEILL,并且在Where条件下你的传递O' NEILL AVE。请检查一下。如果在记录中,名称字符串是O' NEILL并且您传递了O' NEILL AVE,那么您的查询不会获取您需要编写此类查询的记录
select * from street_list where str_name='O''NEILL'
答案 3 :(得分:0)
使用转义引号。
这是另一个澄清的例子:
select '''Today is '' '|| sysdate from dual
'Today is ' 06/09/16