`
yefengyueyuan
  • 浏览: 7104 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle 查询带有单引号的

    博客分类:
  • java
阅读更多
一条查询语句
select * from table where a ='['0','女'],['1','男']';
后来通过查资料用chr(39)来转换单引号格式可以写成这样:
select '['||chr(39)||'0'||chr(39)||','||chr(39)||'女'||chr(39)||']'||
','||'['||chr(39)||'1'||chr(39)||','||chr(39)||'男'||chr(39)||']'  translation from dual这样查询是没有问题的。所以得想办法将客户端参数转义。
String Strinfo="['0','女'],['1','男']";
StringBuffer str = new StringBuffer();
for(int i=0;i<Strinfo.length();i++)
{
String ss =Convert.ToString(Strinfo.charAt(i));
if(ss.equalsIgnoreCase("[")){
str.append("'['||");
}
else if(ss.equalsIgnoreCase("'")){
str.append("chr(39)||");
}
else if(ss.equalsIgnoreCase("]")){
if(i!=Strinfo.length()-1){
str.append("']'||");
}
else{
str.append("']'");
}
}
else{
str.append("'"+Strinfo.charAt(i)+"'||");
}
}

通过以上方法我们就可以查询了。
select * from table where a in (select '['||chr(39)||'0'||chr(39)||','||chr(39)||'女'||chr(39)||']'||
','||'['||chr(39)||'1'||chr(39)||','||chr(39)||'男'||chr(39)||']'  translation)
分享到:
评论

相关推荐

    oracle插入字符串数据时字符串中有'单引号问题

    总的来说,处理Oracle数据库中字符串含有单引号的问题,主要通过转义单引号或者使用参数化查询来解决。在编写SQL语句时,应当注意这类可能导致语法错误的特殊字符,并采取相应的预防措施,确保数据的正确插入和系统...

    一个单引号引发的MYSQL性能问题分析

    而带有单引号的查询`SELECT * FROM `foo` WHERE `key` = '1293322797'`则能有效利用索引,查询速度显著提升。 通过`EXPLAIN`命令可以清楚地看到这两者的区别。不使用单引号的查询显示为全表扫描,而使用单引号的...

    oracle与mysql的区别

    在 MySQL 中,组函数可以随意使用,但在 Oracle 中,如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是 group by 子句中的列否则报错。 例如:select name,count(money) from user;这个放在 MySQL ...

    达梦和oracle的差异说明

    例如,在Oracle中执行同样的查询,返回的列名为`TYPEID`和`TYPENAME`。 为了避免由于这种差异导致的问题,可以在查询前将所有SQL语句强制转换为大写,例如使用`rs = stmt.executeQuery(strSql.toUpperCase())`。...

    Oracle到mysql转换的问题总结.docx

    - `NUMBER(10,2)`在Oracle中表示带有两位小数的数值,对应于MySQL的`DECIMAL(10,2)`,同样用于存储带有精度的数字。 - `VARCHAR2`在Oracle中等同于MySQL的`VARCHAR`,用于存储可变长度的字符串。 - `DATE`在...

    Oracle到mysql转换的问题总结.doc

    - Oracle字符串用单引号 `'` 包裹,MySQL允许单引号 `'` 或双引号 `"`。 - MySQL在使用子查询时,如 `FROM (SELECT ...)` 需要给子查询结果集加别名。 - MySQL在删除记录时,不允许对表使用别名,如 `DELETE FROM...

    Oracle到mysql转换的问题总结要点.doc

    - Oracle中字符串用单引号包围,而MySQL中可用单引号或双引号。 - MySQL在使用子查询时,如`FROM (SELECT...)`,需要在子查询后添加别名。 - 在删除数据时,MySQL不支持对表使用别名,但可以使用`DELETE T FROM ...

    oracle 之FAQ

    - **解答**: 可以定义一个带有`FOR UPDATE`子句的游标,并使用`WHERE CURRENT OF`子句来更新当前游标所在行的数据: ```sql CURSOR c1 IS SELECT * FROM tablename WHERE name IS NULL FOR UPDATE OF column; ...

    Oracle试题及答案

    - **别名生成**: 使用圆括号中的双引号`" "`或者单引号`' '`包裹别名。 - **AS关键词**: 可选关键词,用于指定别名。 #### 7. 锁的作用 - **题目解析**:锁在数据库中用于保证数据的一致性和完整性。 - **知识点...

    最全的oracle常用命令大全.txt

    下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。 1、用户 查看当前用户的缺省表空间 SQL&gt;select username,default_tablespace from user_users; 查看当前用户的角色 SQL&gt;select * from user_...

    Oracle中插入特殊字符:&amp;和&#39;的解决方法汇总

    在Oracle数据库中,有时我们需要插入包含特殊字符的数据,如URL中的`&`和文本中的单引号`'`。这些字符在SQL语句中具有特定含义,因此直接插入可能会导致语法错误或解析问题。本文将详细介绍如何处理和插入这些特殊...

    oracle试题.doc

    在本例中,查询`name`为`mary's`的数据,正确写法应为带有转义字符的单引号,即`'mary''s'`。所以,选项D是正确的。 3. `HAVING`子句:`HAVING`子句用于在`GROUP BY`后的分组过滤,它不能直接与`WHERE`子句一起使用...

    Oracle学习笔记

    8. **特殊字符处理**:两个单引号 `'wo'||'a''a'` 表示一个单引号,返回结果是 'woa'a'。 9. **去除重复值**:`select distinct a from dual;` 可以用于去除查询结果中的重复值。 10. **空值查询**:`select name ...

    sqlserver向oracle导数据

    最后,检查并确认SQL语句以确保表名和用户名没有包含双引号,因为这可能导致导入失败或生成的表名带有双引号。 完成以上步骤后,数据导入过程就完成了。需要注意的是,整个过程中确保所有的配置信息准确无误,尤其...

Global site tag (gtag.js) - Google Analytics