㈠ 请问sql语句 like N'%球%'
N--unicode
当字符类型为nchar/nvarchar/ntext时
有特殊字符存在时,或排序规则不一样:如:简体SQL查繁体字
需要用N'繁体字'
㈡ sql模糊查询
模糊查询内容丰富,用起来灵活随便。此处就写出其基本内容。
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,[ ] :表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
将找出“张三”、“李三”、“王三”(而不是“张李王三”);
如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
将找出“老1”、“老2”、……、“老9”;
4,[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
比如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
将排除“老1”到“老4”,寻找“老5”、“老6”、……
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。
㈢ SQL中like的用法
LIKE是另一个在WHERE子句中会用到的指令。基本上,LIKE能让我们依据一个套(pattern) 来找出我们要的资料。相对来说,在运用IN的时候,我们完全地知道我们需要的条件;在运用BETWEEN的时候,我们则是列出一个范围。LIKE的语法如下:
㈣ sql的like语句怎么用
IKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
SQL LIKE 语法
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;
㈤ sql like 后面加%shne%什么用
通配符有哪些?
1
通配符
%替代 0 个或多个字符
_ 替代一个字符
[charlist] 字符列中的任何单一字符
[^charlist] or [!charlist] 不在字符列中的任何单一字符
2
演示数据库 customers
3
下面的 SQL 语句选取 City 包含模式 "e" 的所有客户:
SELECT * FROM Customers WHERE City LIKE '%e%';
4
下面的 SQL 语句选取 City 以字母 "Lon" 开始的所有客户:
SELECT * FROM Customers WHERE City LIKE 'Lon%';
END
使用 _ 通配符
1
下面的 SQL 语句选取 City 以一个任意字符开始,然后是 "erlin" 的所有客户:
SELECT * FROM Customers WHERE City LIKE '_erlin';
2
下面的 SQL 语句选取 City 以 "L" 开始,然后是一个任意字符,然后是 "n",然后是一个任意字符,然后是 "on" 的所有客户:
SELECT * FROM Customers WHERE City LIKE 'L_n_on';
END
使用 SQL [charlist] 通配符
下面的 SQL 语句选取 City 以 "b"、"s" 或 "p" 开始的所有客户:
SELECT * FROM Customers WHERE City LIKE '[bsp]%';
下面的 SQL 语句选取 City 以 "a"、"b" 或 "c" 开始的所有客户:
SELECT * FROM Customers WHERE City LIKE '[a-c]%';
下面的 SQL 语句选取 City 不以 "b"、"s" 或 "p" 开始的所有客户:
SELECT * FROM Customers WHERE City LIKE '[!bsp]%';
㈥ 在sql语句中,like所有的用法
在sql结构化查询语言中,like语句有着至关重要的作用。
like语句的语法格式是:select * from 表名 where 字段名 like 对应值(子串),它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
A:% 包含零个或多个字符的任意字符串:
1、like'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
2、like'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
3、like'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
B:_(下划线) 任何单个字符:
like'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
C:[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符:
1,like'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。
2、like'[M-Z]inger' 将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。
D:[^] 不属于指定范围 ([a-f]) 或集合 ([abcdef]) 的任何单个字符:
like'M[^c]%' 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather)。
E:* 它同于DOS命令中的通配符,代表多个字符:
c*c代表cc,cBc,cbc,cabdfec等多个字符。
F:?同于DOS命令中的?通配符,代表单个字符 :
b?b代表brb,bFb等
G:# 大致同上,不同的是代只能代表单个数字。k#k代表k1k,k8k,k0k 。
下面我们来举例说明一下:
例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 查询 select结果
你这说的那么复杂, 把数据表截个图来一看比你说N多都看的清楚~
这样都懒得看下去
申请个变量~ 存放Like语句后面的内容 如: set @S_like = '中国%'
第二种语法明显就犯了这种错误, 在引号里面的语句直接被当做字符串来引用了 根本不会进行查询。
第一种是基本的Like语法错误。
DECLARE
@S_like varchar(80),
@sql varchar(8000)
select @S_like = SpecialName from Special where Special.id = 29
set @sql = 'SELECT [Title] 标题,Special 专题 FROM [News] where [News].Special like ''%'
set @sql = @sql + @S_like + ''%''
Print(@sql)
Exec(@sql)
我也没仔细看你代码, 就是根据你的代码来修改了一下你的格式而已, 你自己运行下试试看~
如果不行的话运行到Print(@sql) 看看代码
祝你成功!
㈧ sql server 中 in 和like 有什么区别
首先是in,in在检索语句当中检索出来的值和列表提供的值是完全符合的。比如数据当中有一个值是一个字符'name’那么在in语句当中你就要写成“in('name')”他还可以配合not使用,仅不过意思相反。
其次是like,like和in是有一定区别的,like一般与通配符一起使用,他可以检索出一些特地定格式的字符。比如在一系列的数据当中,你要求检索出以数字1开头的数据,你就可以使用like'1%'。这里要说明一下sql提供的通配符主要有四种 '%', '_', '[ ]', '[ ^ ]'。下面对通配符做一些简单说明:
1、'%'其后可用于接无数个字符串:在查询中如此使用like 's_',即可查出以s开头的值;
2、'_'其后仅可以得到一个字符,如以sales为例,like's_'如此使用,不能找出sales,而应like 'sale_'即可查出sales;
3、'[ ]'表示出现的字符是在一定的范围内,一般情况下它是配合'%'使用的。如like ’p[ r,o]%,他就可以查出以p开头的值,并且其后第二个字符,是r,或者是o,即pocket,proct、、、
4、 '[ ^ ]'是与其相反的,如like ‘ p[^ r,o]% ',就是检索出以p开头但第二个字符不是r或o的字符。
希望我的回答能对你有所帮助
㈨ sql查询语句 like N'%%',N是代表什么意思
使用 N 前缀
在服务器上执行的代码中(例如在存储过程和触发器中)显示的 Unicode 字符串常量必须以大写字母 N 为前缀。即使所引用的列已定义为 Unicode 类型,也应如此。如果不使用 N 前缀,字符串将转换为数据库的默认代码页。这可能导致不识别某些字符。
例如,在前面示例中创建的存储过程可以按以下方式在服务器上执行:
复制代码
EXECUTE Proct_Info @name = N'Chain'
使用 N 前缀的要求适用于在服务器上生成的和客户端发送的字符串常量。
㈩ sqlserver 用 like '%\n%'查不到带分行符的记录
这样试试:
SELECT*FROMTableNamewhereContentlike'%'+chr(10)+'%'