SQL中通配符、转义符与[号的使用(downmoon)

一、搜索通配符字符的说明
可以搜索通配符字符。有两种方法可指定平常用作通配符的字符:

使用 ESCAPE 关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串 5% 的字符串,请使用:
WHERE ColumnA LIKE '%5/%%' ESCAPE '/'

在上述 LIKE 子句中,前导和结尾百分号 (%) 解释为通配符,而斜杠 (/) 之后的百分号解释为字符 %。

在方括号 ([ ]) 中只包含通配符本身。要搜索破折号 (-) 而不是用它指定搜索范围,请将破折号指定为方括号内的第一个字符:
WHERE ColumnA LIKE '9[-]5'

下表显示了括在方括号内的通配符的用法。

符号 含义
LIKE '5[%]' 5%
LIKE '5%' 5 后跟 0 个或更多字符的字符串
LIKE '[_]n' _n
LIKE '_n' an, in, on (and so on)
LIKE '[a-cdf]' a, b, c, d, or f
LIKE '[-acdf]' -, a, c, d, or f
LIKE '[ [ ]' [
LIKE ']' ]

二、实例说明:

在表PersonalMember中查找strloginname字段中含有"["的记录。

可用三条语句:
1、
select strloginname,* from PersonalMember where strloginname like '%\[%' escape '\'

2、(说明"\"与"/"均可与escape关键字结合作为转义符)
select strloginname,* from PersonalMember where strloginname like '%/[%' escape '/'

3、
select strloginname,* from dbo.PersonalMember where charindex('[',strloginname)>0

时间: 2024-10-31 17:05:34

SQL中通配符、转义符与[号的使用(downmoon)的相关文章

My SQL模糊查询,可能是sql语句的转义符问题

问题描述 My SQL模糊查询,可能是sql语句的转义符问题 select * from ticketorder where journey like '%HKG[^-]%' 这是语句, 我想查询journey字段里HKG后面没有"-"的值 解决方案 我自己已经解决了 journey REGEXP 'HKG[,]' or journey REGEXP 'HKG$' 条件这样写就可以了,谨此作为参考 解决方案二: sql 中模糊查询转义 escape

SQL中的换行符

问题: SQL中的换行符(line feed character)是什么?它的ASCII值是什么? 专家回答: SQL本身并不使用换行符,因为换行符就跟空格符和回车符一样都被看作是 "空白".SQL把所有连续的"空白"符当作一个单个的空 格. 因此,下面这个查询语句-- select foo from bar where fap = 'qux' 跟如下这个查询语句意思是一样的-- selectfoofrombarwherefap='qux' 但是,前者的书写格式(多

SQL中通配符、转义符与"["号的使用(downmoon)

一.搜索通配符字符的说明可以搜索通配符字符.有两种方法可指定平常用作通配符的字符: 使用 ESCAPE 关键字定义转义符.在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符.例如,要搜索在任意位置包含字符串 5% 的字符串,请使用: WHERE ColumnA LIKE '%5/%%' ESCAPE '/'在上述 LIKE 子句中,前导和结尾百分号 (%) 解释为通配符,而斜杠 (/) 之后的百分号解释为字符 %.在方括号 ([ ]) 中只包含通配符本身.要搜索破折号 (-) 而不是用

js技巧--转义符"\"的妙用_javascript技巧

// blueDestiny, never-online // blueDestiny [at] 126.com 通常,我们在动态给定一个container的innerHTML时,通常是样做的: <div id="divc" /> <SCRIPT LANGUAGE="JavaScript"> var div = document.getElementById("divc"); var html = ""

实战WPS转义符在查找替换中的应用

政教处主任用WPS表格制作了一个家校联系卡,有一位班主任比较聪明,将班主姓名都是用两个*表示的,本来以为到时替换就行了,可最后一操作就傻眼了――所有单元格都换上了班主任的大名. 对查找与替换功能比较熟悉的朋友会知道,在WPS文字和WPS表格中可以使用通配符星号"*"和问号"?"进行一些较为复杂的查找.其中"*"可以匹配任意个任意字符,例如在查找和替换对话框的"查找内容"文本框内输入"w*d",则文章中类似&

C#读取XML时会将原来的转义符自动转换问题(急)

问题描述 C#读取XML时会将原来的转义符自动转换,例如:&lt自动转换成<是什么原因,有没有什么属性或方法可以设置不做转义操作的?读取出来后再保存回文件时,文件中的转义符已经是转义后的了找了一天了,没找到方法.急,那位高手知道的? 解决方案 解决方案二:帮顶有分没有啊.解决方案三:要的是真正能解决我问题的方法,有没有?解决了自然给分解决方案四:在内容中用<![CDATA[...]]>括起来,这样就不会转义了.解决方案五:我在哪里加"<![CDATA[...]]&

SQL中使用ESCAPE定义转义符详解_SQLite

使用ESCAPE定义转义符      在使用LIKE关键字进行模糊查询时,"%"."_"和"[]"单独出现时,会被认为是通配符.为了在字符数据类型的列中查询是否存在百分号 (%).下划线(_)或者方括号([])字符,就需要有一种方法告诉DBMS,将LIKE判式中的这些字符看作是实际值,而不是通配符.关键字 ESCAPE允许确定一个转义字符,告诉DBMS紧跟在转义字符之后的字符看作是实际值.如下面的表达式: LIKE '%M%' ESCAPE 'M

sql中的OR的使用求解,想查出该学校手机号不为NULL且不为&amp;amp;quot;&amp;amp;quot; 或 邮箱不为NULL且不为“”

问题描述 sql中的OR的使用求解,想查出该学校手机号不为NULL且不为"" 或 邮箱不为NULL且不为"" 想查出该学校手机号不为NULL且不为"" 或 邮箱不为NULL且不为""sql该怎么写?,以下这种是有问题的 SELECT COUNT(1) FROM t_rm_user WHERE schoolCode = '612323' AND (mobilePhone IS NOT NULL AND mobilePhone !

sql中的like统配符

LIKE确定给定的字符串是否与指定的模式匹配.模式可以包含常规字符和通配符字符.模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配.然而,可使用字符串的任意片段匹配通配符.与使用 = 和 != 字符串比较运算符相比,使用通配符可使 LIKE 运算符更加灵活.如果任何参数都不属于字符串数据类型,Microsoft SQL Server 会将其转换成字符串数据类型(如果可能).语法match_expression [ NOT ] LIKE pattern [ ESCAPE escape_cha