zoukankan      html  css  js  c++  java
  • SQL模糊查询

      SQL模糊查询

    SQL模糊查询的语法为
        “SELECT column FROM table WHERE column LIKE ';pattern';”

       
        SQL
    提供了四种匹配模式:
        1. %
    表示任意0个或多个字符。如下语句:
            SELECT * FROM user WHERE name LIKE ';%
    %';
       
    将会把name张三三脚猫唐三藏等等有的全找出来;
       
        2. _
    表示任意单个字符。语句:
            SELECT * FROM user WHERE name LIKE ';_
    _';
       
    只找出唐三藏这样name为三个字且中间一个字是的;
            SELECT * FROM user WHERE name LIKE ';
    __';
       
    只找出三脚猫这样name为三个字且第一个字是的;
       
        3.
    [ ] 表示括号内所列字符中的一个(类似与正则表达式)。语句:
            SELECT * FROM user WHERE name LIKE ';[
    张李王]';
       
    将找出张三李三王三(而不是张李王三);
           
       
    [ ] 内有一系列字符(01234abcde之类的)则可略写为“0-4”“a-e”
            SELECT * FROM user WHERE name LIKE ';
    [1-9]';
       
    将找出1”2”……9”
       
    如要找“-”字符请将其放在首位:';张三[-1-9]';
       
        4.
    [^ ] 表示不在括号所列之内的单个字符。语句:
            SELECT * FROM user WHERE name LIKE ';[^
    张李王]';
       
    将找出不姓赵三孙三等;
            SELECT * FROM user WHERE name LIKE ';
    [^1-4]';
       
    将排除1”4”寻找5”6”……9”
       
       
    !最后是重点!
       
    由于通配符的缘故,导致我们查询特殊字符“%”“_”“[”“';”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数:
       
        function sqlencode(str)
         str=replace(str,"';","';';")
         str=replace(str,"[","[[]") ';
    此句一定要在最先
         str=replace(str,"_","[_]")
         str=replace(str,"%","[%]")
         sqlencode=str
        end function
       
       
    在查询前将待查字符串先经该函数处理即可。

  • 相关阅读:
    js 学习之路8:for循环
    js 学习之路7:switch/case语句的使用
    Python语法速查: 16. 时间日期处理
    初级模拟电路:4-1 BJT交流分析概述
    初级模拟电路:3-11 BJT实现电流源
    Python语法速查: 7. 函数基础
    初级模拟电路:3-10 BJT实现开关电路
    初级模拟电路:3-9 BJT三极管实现逻辑门
    Python语法速查: 6. 循环与迭代
    初级模拟电路:3-8 BJT数据规格书(直流部分)
  • 原文地址:https://www.cnblogs.com/jimeper/p/724651.html
Copyright © 2011-2022 走看看