1.情景展示

  如何将表中的包含特殊字符的脏数据查出来?

2.instr()函数

  语法:

instr(string, substring[, start_position[, th_appearance]])

  参数说明:

  第1个参数表示:必选项。将要被检索的字符串,可以是CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或NCLOB等类型;

  第2个参数表示:必选项。将要查找的字符串,可以是CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或NCLOB等类型;

  第3个参数表示:可选项。从字符串第几(start_position)位开始搜索; 默认值为1;正数,从前往后查找;负数,从后往前查找;

  第4个参数表示:可选项。要查找的字符串的第几(th_appearance)次出现; 默认值为1;

  返回值:返回substring在string的位置;如果在字符串中找不到substring,将返回0。

  说明:字符串中的第一个位置是1。

3.解决方案

  方式一:使用instr()函数(推荐使用);

  总数据

  两个查询结果一致,由此可见:

  该表不存在重复数据;

  id_card字段在该表的数据都是唯一的。

  正确实现:

 SELECT T1.ID_CARD
FROM VIRTUAL_CARD_TEST T1
WHERE INSTR(T1.NAME, '*') > 0
UNION
SELECT T1.ID_CARD
FROM VIRTUAL_CARD_TEST T1
WHERE INSTR(T1.NAME, '#') > 0
UNION
SELECT T1.ID_CARD
FROM VIRTUAL_CARD_TEST T1
WHERE INSTR(T1.NAME, '/') > 0
UNION
SELECT T1.ID_CARD
FROM VIRTUAL_CARD_TEST T1
WHERE INSTR(T1.NAME, '+') > 0
UNION
SELECT T1.ID_CARD
FROM VIRTUAL_CARD_TEST T1
WHERE INSTR(T1.NAME, '!') > 0
UNION
SELECT T1.ID_CARD
FROM VIRTUAL_CARD_TEST T1
WHERE INSTR(T1.NAME, '.') > 0

  分析:查询的时候至少要携带一个唯一字段(主键或id_card),为什么?

  其一:姓名肯定有重复的,但又不能使用关键字union进行去重,会导致数据缺失;

  其二:姓名可能包含好几个特殊字符,每判断一次,就会叠加一次,会多于实际数据。

  方式二:使用like关键字实现。

4.排除脏数据查询

  错误方式:

  错在哪?

  当脏数据都包含所有特殊字符时,可以使用该方法。

  正确方式:

5.删除脏数据

  见文末推荐

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

相关推荐:

 

oracle 判断字符串是否包含指定内容的更多相关文章

  1. js判断字符串是否包含指定的字符

    判断字符串是否包含指定字符是很常用的功能,比如说,注册时用户名限制不能输入"管理员",或者需要js判断url跳转链接是否包含某个关键词等-- <!DOCTYPE html&g ...

  2. excel判断单元格包含指定内容的函数用=IF(COUNTIF(A1,"*内容*"),"0","1")

    前面我们聊过怎样将Excel包含某字符的单元格填充颜色,这边我们用另外一种方法来实现:excel判断单元格包含指定内容的函数 选中需要显示结果的单元格,假设我们要判断第一行第一列的单元格A1是否含有“ ...

  3. Jquery 选择器 详解 js 判断字符串是否包含另外一个字符串

    Jquery 选择器 详解   在线文档地址:http://tool.oschina.net/apidocs/apidoc?api=jquery 各种在线工具地址:http://www.ostools ...

  4. SQL中判断字符串中包含字符的方法

    通过2个函数CHARINDEX和PATINDEX以及通配符的灵活使用 函数:CHARINDEX和PATINDEX CHARINDEX:查某字符(串)是否包含在其他字符串中,返回字符串中指定表达式的起始 ...

  5. PHP判断字符串的包含

    PHP语言是一个功能强大的嵌入式HTML脚本语言,它的易用性让许多程序员选择使用.PHP判断字符串的包含,可以使用PHP的内置函数strstr,strpos,stristr直接进行判断.也可以通过ex ...

  6. Java:判断字符串中包含某字符的个数

    Java:判断字符串中包含某字符的个数 JAVA中查询一个词在内容中出现的次数: public int getCount(String str,String key){ if(str == null ...

  7. [转帖]linux下查找文件及查找包含指定内容的文件常用命令。

    linux下查找文件及查找包含指定内容的文件常用命令. https://blog.csdn.net/yangyu19910407/article/details/18266821 最简单的查找 fin ...

  8. 判断字符串是否包含字母‘k’或者‘K’

    判断字符串是否包含字母‘k’或者‘K’ public bool IsIncludeK(string temp) { temp = temp.ToLower(); if (temp.Contains(' ...

  9. 【功能代码】---3 JS判断字符串是否包含某个字符串

    JS判断字符串是否包含某个字符串 var str ="abc"; if(str.indexOf("bc")>-1){ alert('str中包含bc字符串 ...

随机推荐

  1. Orchard模块开发全接触1:起步

    在<http://www.cnblogs.com/luminji/p/3831281.html>中简单介绍了 Orchard 的模块开发,接下来,我们需要做个更复杂的例子,Orchard ...

  2. Python集合模块collections

    collections collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: ...

  3. Chapter 3 -- Ordering

    Guava's fluent comparator class, Ordering, explained. explained Updated Jun 27, 2013 by cpov...@goog ...

  4. webrequest HttpWebRequest webclient/HttpClient

    webrequest(abstract类,不可直接用) <--- (继承)---- HttpWebRequest(更好的控制请求) <--- (继承)---- webclient (简单快 ...

  5. String、StringBuffer与StringBuilder之间区别(转)

    原文链接:String.StringBuffer与StringBuilder之间区别 最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,Stri ...

  6. jetty+mongodb 配置session外部数据库存储

    monbgodb简介 主页 http://www.mongodb.org/ oschina.net 介绍页 http://www.oschina.net/p/mongodb MongoDB是一个介于关 ...

  7. go语言之进阶篇recover的使用

    1.recover的使用 示例: package main import "fmt" func testa() { fmt.Println("aaaaaaaaaaaaaa ...

  8. 读书笔记,《Java 8实战》第五章,使用流

    本章我们将会了解到关于Stream API的很多操作,这些操作能够完成很多复杂的查询,比如,比如筛选,切片,映射,查找,匹配和规约, 第一节,筛选和切片    首先我们来看看用谓词来选择流动的元素,主 ...

  9. Spring Boot 集成Shiro和CAS

    Spring Boot 集成Shiro和CAS 标签: springshirocas 2016-01-17 23:03 35765人阅读 评论(22) 收藏 举报  分类: Spring(42)  版 ...

  10. Java方法containsAll学习

    有时候我们需要判断B链表是不是A链表的子集,我们可以使用A.containsAll(B)来判断,当返回值是true的时候就表明B链表是A链表的子集,当返回值是false时候就表明B链表不是A链表的子集 ...