精华内容
下载资源
问答
  • 现假设表格T包含一个班级所有人的信息(姓名、性别、年龄等),现有一个全校优秀学生姓名名单(全校有多个班级),要求根据名单和表格T找出这个班级优秀学生中的性别年龄等信息。 正常思维 select姓名、性别、年龄 ...

    现假设表格T包含一个班级所有人的信息(姓名、性别、年龄等),现有一个全校优秀学生姓名名单(全校有多个班级),要求根据名单和表格T找出这个班级优秀学生中的性别年龄等信息。

    正常思维

    select 姓名、性别、年龄

    from T

    where 姓名 like “%优秀学生姓名1%” or 姓名 like “%优秀学生姓名2%” or .............or 姓名 like “%优秀学生姓名n%”

    此时若优秀名单人员有20个则需要重复20次,

    考虑以下用法:

    select 姓名、性别、年龄

    from T

    where 姓名 REGEXP ‘优秀学生姓名1|优秀学生姓名1|优秀学生姓名2|.......|优秀学生姓名n’

    展开全文
  • <p>SQL LIKE is not working when string contains single quote <code>', Below is my <strong>php code</strong></p> <pre><code> $keysearch = "St.Joseph's"; // Searching keyword containing single ...
  • Like <模式>其中:1.<字符串>为文本字符串或者对包含文本字符串的单元格的引用,是要与<模式>相比较的字符串,数据类型为String型。2.<模式>数据类型为String型,可以...

    学习Excel技术,关注微信公众号:

    excelperfect

    Like运算符用于判断给定的字符串是否与指定的模式相匹配,其语法为:

    结果=<字符串> Like <模式>

    其中:

    1.<字符串>为文本字符串或者对包含文本字符串的单元格的引用,是要与<模式>相比较的字符串,数据类型为String型。

    2.<模式>数据类型为String型,可以使用一些特殊字符,其它的字符都能与它们相匹配,如下图1所示。

    3461fedcd6d0bafd383b5bfafebf236f.png

    1

    3.<结果>Boolean型。如果字符串与指定的模式相匹配,则<结果>True;否则<结果>False。如果字符串或者模式Null,则结果Null

    4.Like运算符默认的比较模式区分大小写。可以用OptionCompare语句来改变比较模式,如改变为文本比较模式,则不区分大小写。

    5.[字符列表]将模式中的一组字符与<字符串>中的一个字符进行匹配,可以包含任何一种字符,包括数字。

    6.[字符列表]中使用连字号(-)产生一组字符来与<字符串>中的一个字符相匹配,如[A-D]<字符串>相应位置的ABCD匹配.

    7.[字符列表]中可以产生多组字符,如[A-DH-J];各组字符必须按照排列顺序出现。

    8.[字符列表]的开头或结尾使用连字号(-)与连字号自身相匹配,例如[-H-N]与连字号(-)HN之间的任何字符相匹配。

    9.[字符列表]中的一个字符或者一组字符前加上!号,表明与该字符或该组字符之外的所有字符匹配,如[H-N]与字符H-N范围之外的所有字符匹配;而在[]外使用!号则只匹配!自身。

    10.要使用任何特殊字符作为匹配字符,只需将它放在[]中即可,例如[]表明要与一个问号进行匹配。

    11.为了与左括号 ([)、问号 (?)、数字符号 (#)和星号(*) 等特殊字符进行匹配,可以将它们用方括号括起来。不能在一个组内使用右括号 (]) 与自身匹配,但在组外可以作为个别字符使用。

    示例1:基本用法

    下面的代码演示了Like运算符的基本使用:

    Sub testLikePattern()

      Dim bLike1 As Boolean

      Dim bLike2 As Boolean

      Dim bLike3 As Boolean

      Dim bLike4 As Boolean

      Dim bLike5 As Boolean

      Dim bLike6 As Boolean

      Dim bLike7 As Boolean

      '返回 True

      bLike1 = "aBBBa"Like "a*a"

      '返回 True

      bLike2 = "F" Like"[A-Z]"

      '返回 False

      bLike3 = "F" Like"[!A-Z]"

      '返回 True

      bLike4 = "a2a"Like "a#a"

      '返回 True

      bLike5 = "aM5b"Like "a[L-P]#[!c-e]"

      '返回 True

      bLike6 = "BAT123khg" Like "B?T*"

      '返回 False

      bLike7 = "CAT123khg" Like "B?T*"

    End Sub

    示例2:自定义字符比较函数

    下面是一个简单的自定义函数IsLike:

    '摘自Excel高级VBA编程宝典

    Function IsLike(text As String, _

        pattern As String) _

        As Boolean

       IsLike = text Like pattern

    End Function

    如果文本字符串text与指定的模式pattern匹配,该函数则返回True。该函数接受两个参数:

    text:字符串或者是对包含字符串的单元格的引用。

    pattern包含有如上表1所示特殊字符的字符串。

    在工作表公式中可以方便地使用IsLike函数:

    1.下面的公式返回True。因为*匹配任意数量的字符,所以如果第一个参数是以“g”开始的任意文本,则返回True

    =IsLike(“guitar”,”g*”)

    2.下面的公式返回True。因为?匹配任意的单个字符,所以如果第一个参数是以“Unit12,则返回False

    =IsLike(“Unit1”,”Unit?”)

    3.下面的公式返回True,因为第一个参数是第二个参数的某个单个字符:

    =IsLike(“a”,”[aeiou]”)

    4.如果单元格A1包含a,e,I,o,u,A,E,I,O或者U,那么下面的公式返回True。使用Upper函数作为参数,可以使公式不区分大小写:

    =IsLike(Upper(A1),Upper(“[aeiou]”))

    5.如果单元格A1包含以“1”开始并拥有3个数字的值(也就是100199之间的任意整数),那么下面的公式返回True

    =IsLike(A1,”1##”)

    示例3:分类统计所选单元格区域中的文本字数

    下面的代码可用于统计所选单元格区域中的总字数、汉字数、字母数及数字数:

    Sub SubTotalSelectionCharNum()

      Dim str As String

      Dim ChineseChar As Long

      Dim Alphabetic As Long

      Dim Number As Long

      Dim i As Long

      Dim rng As Range

      Dim j As Long

      '遍历所选单元格

      For Each rng In Selection

        '字数累加

        j = j + Len(rng.Value)

        For i = 1 To Len(rng)

          '逐个取字符

          str = Mid(rng.Value, i,1)

          If str Like "[一-龥]" = True Then

            '汉字累加

            ChineseChar =ChineseChar + 1

          ElseIf str Like "[a-zA-Z]" = True Then

            '字母累加

            Alphabetic =Alphabetic + 1

          ElseIf str Like "[0-9]" = True Then

            '数字累加

            Number = Number + 1

          End If

        Next

      Next

      MsgBox "所选单元格区域中共有字数"& j & "个,其中:" _

         & vbCrLf & "汉字:" & ChineseChar & "个" & _

         vbCrLf & "字母:" &Alphabetic & "个" & _

         vbCrLf & "数字:" &Number & "个", _

         vbInformation, "文本分类统计"

    End Sub

    在示例工作表中运行代码的结果如下图2所示。

    000975ea0a255d6679b7b068424e09e1.png

    图2

    示例4:判断用户窗体文本框中的输入是否符合要求

    如下图3所示的用户窗体,其中放置了一个文本框和一个按钮。

    a0adb6ed0aa8c0cf770ee35de934c298.png

    图3

    “确定“按钮控件的代码如下:

    Private Sub CommandButton1_Click()

      Dim sEnd As String, sPattern As String

      sEnd = "in excelperfect"

      sPattern = "[F W]*" & sEnd

      If TextBox1.Text Like sPattern Then

        MsgBox "输入正确"

      Else

        MsgBox "输入错误"

      End If

    End Sub

    此时,当用户在文本框中输入文本,单击“确定“按钮后,如果输入的是以字符F或字符W开头并以“in excelperfect”结尾的句子,将显示“输入正确”消息框,否则将显示“输入错误”的消息框。

    a5cf5786f6f4be121a6defff61fcccb5.png

    展开全文
  • SQL like

    2019-06-08 13:55:00
    确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。...如果任何参数都属于字符串数据类型,Microsoft® SQL Server™ 会将其转换成字符串数据类型(如果可能)。 语法 m...
    确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。

    模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。然而,可使用字符串的任意片段匹配通配符。

    与使用 = 和 != 字符串比较运算符相比,使用通配符可使 LIKE 运算符更加灵活。

    如果任何参数都不属于字符串数据类型,Microsoft® SQL Server™ 会将其转换成字符串数据类型(如果可能)。
    语法
    match_expression_r [ NOT ] LIKE pattern [ ESCAPE escape_character ]
    参数
    match_expression_r
    任何字符串数据类型的有效 SQL Server 表达式。
    pattern
    match_expression_r 中的搜索模式,可以包含下列有效 SQL Server 通配符。
    通配符 描述 示例
    % 包含零个或更多字符的任意字符串。 WHERE title LIKE '%computer%' 将查找处于书名任意位置的包含单词 computer 的所有书名。
    _(下划线) 任何单个字符。 WHERE au_fname LIKE '_ean' 将查找以 ean 结尾的所有 4 个字母的名字(Dean、Sean 等)。
    [ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。 WHERE au_lname LIKE '[C-P]arsen' 将查找以arsen 结尾且

    以介于 C 与 P 之间的任何单个字符开始的作者姓氏,例如,Carsen、Larsen、Karsen 等。

    [^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符。 WHERE au_lname LIKE 'de[^l]%' 将查找以 de 开始且其后的字母不为 l 的所有作者的姓氏。
    escape_character
    字符串数据类型分类中的所有数据类型的任何有效 SQL Server 表达式。escape_character 没有默认值,且必须仅包含一个字符。
    结果类型
    Boolean
    结果值
    如果 match_expression_r 匹配指定模式,LIKE 将返回 TRUE。
    注释
    当使用 LIKE 进行字符串比较时,模式字符串中的所有字符都有意义,包括起始或尾随空格。如果查询中的比较要返回

    包含"abc "(abc 后有一个空格)的所有行,则将不会返回包含"abc"(abc 后没有空格)的列所在行。

    但是可以忽略模式所要匹配的表达式中的尾随空格。如果查询中的比较要返回包含"abc"(abc 后没有空格)的所有行,

    则将返回以"abc"开始且具有零个或多个尾随空格的所有行。

    由于数据存储方式的原因,使用包含 char 和 varchar 数据模式的字符串比较可能无法通过 LIKE 比较。

    了解每种数据类型的存储方式以及导致 LIKE 比较失败的原因十分重要。下面的示例将局部 char 变量传递给存储过程,

    然后使用模式匹配查找某个作者的所有著作。在此过程中,作者的姓将作为变量传递。

    当名字中包含的字符数小于 20 时,char 变量 (@AU_LNAME) 将包含尾随空格,这导致 find_books 过程中没有行返回。

    由于 au_lname 列为 varchar 类型,所以没有尾随空格。因为尾随空格是有意义的,所以此过程失败。

    使用 LIKE 的模式匹配
    当搜索 datetime 值时,推荐使用 LIKE,因为 datetime 项可能包含各种日期部分。例如,如果将值 19981231 9:20
    插入到名为 arrival_time 的列中,则子句 WHERE arrival_time = 9:20 将无法找到 9:20 字符串的精确匹配,

    因为 SQL Server 将其转换为 1900 年 1 月 1 日上午 9:20。然而,子句 WHERE arrival_time LIKE '%9:20%' 将找到匹配。

    LIKE 支持 ASCII 模式匹配和 Unicode 模式匹配。当所有参数,包括 match_expression_r、pattern 和
    escape_character(如果有)都是 ASCII 字符数据类型时,将执行 ASCII 模式匹配。如果其中任何参数属于 Unicode 数据类型,

    则所有参数将被转换为 Unicode 并执行 Unicode 模式匹配。当对 Unicode 数据(nchar 或 nvarchar 数据类型)使用 LIKE 时,

    尾随空格是有意义的。但是对于非 Unicode 数据,尾随空格没有意义。Unicode LIKE 与 SQL-92 标准兼容。

    ASCII LIKE 与 SQL Server 的早期版本兼容。

    使用 % 通配符
    如果指定 LIKE '5%',SQL Server 将搜索后面带有零个或多个任意字符的数字 5。
    例如,此查询将显示数据库中所有的系统表,因为它们都以字母 sys 开始:
    SELECT TABLE_NAME
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_NAME LIKE 'sys%'
    说明 请注意:系统表可以随版本不同而更改。推荐使用信息架构视图或适用的存储过程处理 SQL Server 系统表。
    若要查阅非系统表的所有对象,请使用 NOT LIKE 'sys%'。如果共有 32 个对象且 LIKE 找到 13 个与模式匹配的名称,

    则 NOT LIKE 将找到 19 个与 LIKE 模式不匹配的对象。

    使用 LIKE '[^s][^y][^s]%' 模式不一定每次找到的名称都相同。可能仅得到 14 个名称(而不是 19 个),除了系统表名称外,

    所有以 s 开始或第二个字母为 y 或第三个字母为 s 的名称也都将从结果中消除。

    这是因为用反向通配符匹配字符串是分步骤进行计算的,一次一个通配符。

    如果在计算过程中任一环节匹配失败,那么就会将其消除。

    转载于:https://www.cnblogs.com/xtwkh1973/p/10990568.html

    展开全文
  • 不包含字母 SELECT * FROM t WHERE str NOT LIKE '%[a-zA-Z]%' SELECT * FROM t WHERE patindex('%[a-zA-Z]%',str) =0 --2.不包含汉字 SELECT * FROM t WHERE str NOT LIKE '%[吖-...

     

    --1.不包含字母
    SELECT *
    FROM t
    WHERE str NOT LIKE '%[a-zA-Z]%'
          
     
    SELECT *
    FROM t
    WHERE patindex('%[a-zA-Z]%',str) =0
     
     
     
    --2.不包含汉字
    SELECT *
    FROM t
    WHERE str NOT LIKE '%[吖-座]%'
     
     
    SELECT *
    FROM t
    WHERE patindex('%[吖-座]%',str) =0

     

    转载于:https://www.cnblogs.com/xiaonangua/p/10717890.html

    展开全文
  • 1、包含中文字符select * from 表名 where 列名 like '%[吖-座]%'2、包含英文字符select * from 表名 where 列名 like '%[a-z]%'3、包含纯数字select * from 表名 where 列名 like '%[0-9]%'4、包含全角字符select *...
  • and ci.staff_id in( ?)and nci.I1 like ?||'%') --参数:[31562, 5, 泉州电信(销户,欠费停机)一年以上2017年11月(旧)催缴减工单(2)309条...java.sql.SQLException: ORA-01560: LIKE 样式包含的字符完整或非法
  • sql 不包含、%,^的作用

    万次阅读 2017-08-30 11:16:56
    不包含的写法:where aa not like '%关键字%'  %的作用:任意字符,不限个数,如a%,是以a开头的任意单词,an a apple alternate 都属于 详见: http://www.w3school.com.cn/sql/sql_wildcards.asp
  • SELECT * FROM dbo.表名 WHERE 字段名 NOT LIKE '%[吖-座]%' 转载于:https://www.cnblogs.com/zhb7769/p/9796088.html
  • sql like通配符

    2015-05-27 16:10:12
    LIKE 确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。...如果任何参数都属于字符串数据类型,Microsoft® SQL Server™ 会将其转换成字符串数据类型(如果可能)。 语
  • SQL like用法

    千次阅读 2018-01-27 20:41:29
    % 包含零个或更多字符的任意字符串。 _(下划线) 任何单个字符。 [ ] 指定范围(例如 [a-f])或集合(例如 [abcdef])内的任何单个字符。 [^] 在指定范围(例如 [^a - f])或集合(例如 [^abcdef])内的任何...
  • SQL LIKE 通配符

    千次阅读 2012-12-10 12:59:46
    模式可以包含常规字符和通配符字符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。然而,可使用字 符串的任意片段匹配通配符。与使用 = 和 != 字符串比较运算符相比,使用通配符可使 LIKE 运算符更加...
  • sql语句like的用法

    万次阅读 2018-04-20 00:20:17
     LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。 假设有一个数据库中有个表table1...
  • sqlserver not like

    2012-04-05 15:02:25
    select * from XXX where a not like ‘%abc%’ 上面sql语句如何修改之后只让他过滤掉包含abc的数据,为null或者为null的都过滤掉,数据库时sqlserver2005。
  • 如有一张employee表,其中有name字段,查询name中不包含li字符的所有行。 SELECT * FROM `employee` WHERE name NOT LIKE '%li%'
  • LIKE语句在SQL有着可替代的重要作用,下文就将为您介绍SQL语句中SELECT LIKE like的详细用法,希望对您能有所帮助。 LIKE语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对...
  • 上述问题的一般情况下,答案肯定是能,但既然提问了,那肯定有能用的情况为此,详细介绍下首先我们先创建一个表*************************** 1. row *************************** Table: test1 Create Table: ...
  • SQL Server 中关于 like 的用法 1)全字匹配 select * from T_table where Column like '%全字匹配%' 这个是查找记录中包含 "全字匹配" 的记录. 2)完全匹配 select * from T_table where Column like '...
  • SELECT * FROM tb1 WHERE a NOT LIKE CONCAT('%', b, '%'); OK.
  • 一、SQL模糊查询语句(like) 确定给定的字符串是否与指定的模式匹配。模式可以包含常规字符和通配符字符。...如果任何参数都属于字符串数据类型,Microsoft® SQL Server™ 会将其转换成字符串...
  • 用Elasticsearch 实现类似SQLlike的功能('%aaa%'),查询数据时,要前后模糊匹配,不要分词(用户输入AAA,检索的结果中AAA需要连在一起,能是AABA) 1.2 所需知识点 1.2.1 phrase-matching phrase-matching ...
  • 写个动态脚本,需要把数据库里面包含“USER_的表删除掉,突然想起来如何搜索通配字符了,赶紧查查MSDN,整理了下模糊查询的知识点,留着以后查阅用。  LIKE模糊查询的通配符  搜索通配符字符  在模糊...
  • select count(*) from CrawlQueue with(Index([Key]))   where [key] like 'http://allrecipes.com/Recipe%' and len([key])-len(replace([key],'review',''))>0
  • SQL LIKE操作符

    2020-03-29 16:01:52
    但是过滤方法不是任何时候都好用的,例如快速找到产品中包含bean bag所有产品?用简单的比较符肯定不行,必须使用通配符,利用通配符,可以创建比较特定数据的搜索模式,在这个例子中,如果相同找出名称包含bean bag所有...
  • array,sql like

    2012-06-06 23:30:29
    ·sqllike关键字的使用,%:包含零个或更多的任意字符。_下划线,任何单个字符。[]指定范围[a-f]或集合[abcdef]中的任何单个字符。[^]属于指定范围[^a-f]或集合[^abcdef]的任何单个字符。这和我昨天写的练习...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 459
精华内容 183
关键字:

like不包含sql