zoukankan      html  css  js  c++  java
  • Oracle like 里面的通配符 以及regexp_like

    关于like后面的条件,Oracle提供了四种匹配模式:

    1,% :表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。

    比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'

    将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。

    另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件
    SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'

    若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%' 
    虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。

    2,_ : 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:

    比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
    只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;

    再比如 SELECT * FROM [user] WHERE u_name LIKE '三__';
    只找出“三脚猫”这样name为三个字且第一个字是“三”的;

    3. regexp_like 正则表达式函数查询


    --查询FieldName中以1开头60结束的记录并且长度是7位
    select * from fzq where FieldName like '1____60';
    select * from fzq where regexp_like(FieldName,'1....60');


    --查询FieldName中以1开头60结束的记录并且长度是7位并且全部是数字的记录。
    --使用like就不是很好实现了。
    select * from fzq where regexp_like(FieldName,'1[0-9]{4}60');


    -- 也可以这样实现,使用字符集。
    select * from fzq where regexp_like(FieldName,'1[[:digit:]]{4}60');


    -- 查询FieldName中不是纯数字的记录
    select * from fzq where not regexp_like(FieldName,'^[[:digit:]]+$');


    -- 查询FieldName中不包含任何数字的记录。
    select * from fzq where regexp_like(FieldName,'^[^[:digit:]]+$');


    --查询以12或者1b开头的记录.不区分大小写。
    select * from fzq where regexp_like(FieldName,'^1[2b]','i');


    --查询以12或者1b开头的记录.区分大小写。
    select * from fzq where regexp_like(FieldName,'^1[2B]');


    -- 查询数据中包含空白的记录。
    select * from fzq where regexp_like(FieldName,'[[:space:]]');


    --查询所有包含小写字母或者数字的记录。
    select * from fzq where regexp_like(FieldName,'^([a-z]+|[0-9]+)$');


    --查询任何包含标点符号的记录。
    select * from fzq where regexp_like(FieldName,'[[:punct:]]');

  • 相关阅读:
    20150603_Andriod 多个窗体数据回调
    onActivityResult传值的使用
    20150602_Andriod 向窗体传递参数
    20150601_Andriod 打开新窗体
    C# 添加.DLL 出错的解决方法
    c# 中crystal report输出PDF文件
    参考_Android中,如何新建一个界面,并且实现从当前界面切换到到刚才新建的(另外一个)界面
    andriod 新建 Activity_ Form (详细设置)
    sql in
    如何取得GridView被隐藏列的值
  • 原文地址:https://www.cnblogs.com/kakaisgood/p/9561177.html
Copyright © 2011-2022 走看看