VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2345|回复: 16

查询时大家是如何处理通配符的?

[复制链接]

1

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-20 00:00:01 | 显示全部楼层 |阅读模式
现在我的查询中我想查询 15%的数据,但是sql会把这个百分号认为是通配符,可是我就是想查询等于15%的数据,怎么办啊
回复

使用道具 举报

0

主题

66

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-1-28 07:00:01 | 显示全部楼层
只有like运算符才会把%当成通配符吧?=是不会的吧?
回复

使用道具 举报

1

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-1-28 08:45:01 | 显示全部楼层
哦,是的,是字符串匹配,其中包含15%
回复

使用道具 举报

0

主题

66

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-1-28 08:54:01 | 显示全部楼层
create table #(a varchar(20))
insert into # select '15%'

select * from # where a='15%'

可以阿。。。
回复

使用道具 举报

0

主题

88

帖子

55.00

积分

新手上路

Rank: 1

积分
55.00
发表于 2020-1-28 09:09:01 | 显示全部楼层
select * from tablename where column like '%15[%]%'
回复

使用道具 举报

0

主题

100

帖子

53.00

积分

新手上路

Rank: 1

积分
53.00
发表于 2020-1-28 09:27:01 | 显示全部楼层
以前有个帖子讨论怎么把%转义成普通字符的,楼主不妨搜一下.
回复

使用道具 举报

0

主题

66

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-1-28 09:45:01 | 显示全部楼层
那再加一个不就行了?
select * from # where a like '15%%'
回复

使用道具 举报

0

主题

66

帖子

27.00

积分

新手上路

Rank: 1

积分
27.00
发表于 2020-1-28 10:36:01 | 显示全部楼层
不行。。无视我把。。
回复

使用道具 举报

1

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-1-28 11:45:02 | 显示全部楼层
TO:prajna
这样会把包含15的数据也查询出来
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-1-28 12:09:02 | 显示全部楼层

select * from
(
select col='15'
union all select '%15%'
union all select '%15'
union all select '15%'
) a
where a.col='15%'

--result
col  
----
15%

(1 row(s) affected)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表