sqllike通配符
❶ 请教以下sql 中like 的通配符有哪些
Access中like的通配符用法是:
“?”表示任何单一字符; “*”表示零个或多个字符; “#”表示任何一个数字
所以应该是:
select * from stud where sname like '*高*'
SQL中通配符用法是:
—(下划线)匹配任意单个字符。
%(百分号)匹配任意长度(可以是0)的字符。
❷ sql的like语句怎么用
LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SQL LIKE 操作符语法
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
例子 1
现在,我们希望从上面的 "Persons" 表中选取居住在以 "N" 开始的城市里的人:
我们可以使用下面的 SELECT 语句:
SELECT * FROM Persons
WHERE City LIKE 'N%'
提示:"%" 可用于定义通配符(模式中缺少的字母)。
❸ sql 中 like的用法
LIKE运算符可以使用以下两个通配符 “%”和 “-”。其中: “%”代表零个或多个字符。 “-”代表一个且只能是一个字符。 如果您只记得SALESMAN的第一个字符为S,第三个字符为L,第五个字符为S,那该如何处理呢? SQL> SELECT empno, ename, sal, job 2 FROM emp 3 WHERE job LIKE ’S_L_S%’; 结果 EMPNO ENAME SAL JOB ---------- -------------------- ---------- -------- 7499 ALLEN 1600 SALESMAN 7521 WARD 1250 SALESMAN 7654 MARTIN 1250 SALESMAN 7844 TURNER 1500 SALESMAN 从上面的查询语句,可以看出,通过在LIKE表达式中使用不同的通配符“%”和 “-”的组合,可以构造出相当复杂的限制条件。 另外,LIKE运算符可以帮助您简化某些WHERE子句。例如要显示在1981年雇用的所有员工的清单,可以使用这个查询语句。 SQL> SELECT empno, ename, sal, hiredate 2 FROM emp 3 WHERE hiredate LIKE ’%81’; 结果 EMPNO ENAME SAL HIREDATE ---------- ------------------ ---------- --------- 7499 ALLEN 1600 20-FEB-81 7521 WARD 1250 22-FEB-81 7566 JONES 2975 02-APR-81 7654 MARTIN 1250 28-SEP-81 7698 BLAKE 2850 01-MAY-81 7782 CLARK 2450 09-JUN-81 7839 KING 5000 17-NOV-81 7844 TURNER 1500 08-SEP-81 7900 JAMES 950 03-DEC-81 7902 FORD 3000 03-DEC-81 已选择11行。
❹ ,在查询分析器中使用T-SQL 语句查询数据,使用Like 关键字来匹配单个字符,那么其通配符是( ). A,% B:* C:#
答案是A。
like在SQL中被叫做模糊查询,也就是关键字查找功能。通配符就是百分号。例如like'%网络'实现的是查找以网络两个字为结尾的数据。like '网络%'是查找以网络开头的数据, like '%网络%'是包含网络两个字的数据条目
❺ sql语句中like的用法详细解析
在SQL结构化查询语言中,LIKE语句有着至关重要的作用。
LIKE语句的语法格式是:select
*
from
表名
where
字段名
like
对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
假设有一个数据库中有个表table1,在table1中有两个字段,分别是name和sex二者全是字符型数据。现在我们要在姓名字段中查询以“张”字开头的记录,语句如下:
select
*
from
table1
where
name
like
"张*"
如果要查询以“张”结尾的记录,则语句如下:
select
*
from
table1
where
name
like
"*张"
这里用到了通配符“*”,可以说,like语句是和通配符分不开的。下面我们就详细介绍一下通配符。
匹配类型
模式
举例及代表值
说明
多个字符
*
c*c代表cc,cBc,cbc,cabdfec等
它同于DOS命令中的通配符,代表多个字符。
多个字符
%
%c%代表agdcagd等
这种方法在很多程序中要用到,主要是查询包含子串的。
特殊字符
[*]
a[*]a代表a*a
代替*
单字符
?
b?b代表brb,bFb等
同于DOS命令中的?通配符,代表单个字符
单数字
#
k#k代表k1k,k8k,k0k
大致同上,不同的是代只能代表单个数字。
字符范围
-
[a-z]代表a到z的26个字母中任意一个
指定一个范围中任意一个
续上
排除
[!字符]
[!a-z]代表9,0,%,*等
它只代表单个字符
数字排除
[!数字]
[!0-9]代表A,b,C,d等
同上
组合类型
字符[范围类型]字符
cc[!a-d]#代表ccF#等
可以和其它几种方式组合使用
假设表table1中有以下记录:
name
sex
张小明
男
李明天
男
李a天女
王5五男
王清五
男
下面我们来举例说明一下:
例1,查询name字段中包含有“明”字的。
select
*
from
table1
where
name
like
'%明%'
例2,查询name字段中以“李”字开头。
select
*
from
table1
where
name
like
'李*'
例3,查询name字段中含有数字的。
select
*
from
table1
where
name
like
'%[0-9]%'
例4,查询name字段中含有小写字母的。
select
*
from
table1
where
name
like
'%[a-z]%'
例5,查询name字段中不含有数字的。
select
*
from
table1
where
name
like
'%[!0-9]%'
以上例子能列出什么值来显而易见。但在这里,我们着重要说明的是通配符“*”与“%”的区别。
很多朋友会问,为什么我在以上查询时有个别的表示所有字符的时候用"%"而不用“*”?
先看看下面的例子能分别出现什么结果:
select
*
from
table1
where
name
like
*明*
select
*
from
table1
where
name
like
%明%
大家会看到,前一条语句列出来的是所有的记录,而后一条记录列出来的是name字段中含有“明”的记录,
所以说,当我们作字符型字段包含一个子串的查询时最好采用“%”而不用“*”,用“*”的时候只在开头或者只在结尾时,而不能两端全由“*”代替任意字符的情况下。
❻ sql like 通配符
你需要的是神马结果啊,那些出现,那些过滤
如果FKid是是等于的,不能用字符串比较啊,直接 CASE(Fkid as int) = (select id) 多好
我明白你的意思了,你Fkid 保存的是'1,2,3' 这样的是吧,首先这是一个很不合理的保存方式,效率低。如果想用这种,效率比较高的方式就是,在Fkid的首尾都加上逗号',',这样,like的时候,匹配值使用',id,',这样就唯一匹配了
ps:下次不要用评论,用追问
❼ 在条件表达式中常用的通配符有哪些,"like"代表什么含义
like是用来模糊查询的关键字
在没有通配符时,LIKE 操作符与等号(=)的效果一样,不光可以在 SELECT 语句中使用 LIKE 操作符,也可以在 UPDATE、DELETE等语句中使用 LIKE 操作符。LIKE 操作符匹配整个列,如果被匹配的文本在列值中出现,LIKE 将不会找到它,相应的行也不被返回(除非使用通配符)。(也可以使用正则表达式代替 LIKE操作符)。
通配符是一类键盘字符。
当查找文件夹时;当不知道真正字符或者不想键入完整名字时,常常使用通配符代替一个或多个真正字符。
星号(*)
可以使用星号代替零个、单个或多个字符。如果正在查找以AEW开头的一个文件,但不记得文件名其余部分,可以输入AEW*,查找以AEW开头的所有文件类型的文件,如AEWT.txt、AEWU.EXE、AEWI.dll等。要缩小范围可以输入AEW*.txt,查找以AEW开头的所有文件类型并.txt为扩展名的文件如AEWIP.txt、AEWDF.txt。