请问sql语句中like子句的问题

2025-03-26 03:39:06
推荐回答(3个)
回答(1):

这是因为“_”是SQL的通配符,表示一个任意的字符。所以 _10_、_1_ 与 模式 _1_是匹配的。

解决办法:就是用“[ ]”把不是通配符的 _、% 包起来,用如下这句试试:

select * from 表名 where 字段名 like '%[_]1[_]%'

回答(2):

_ 是通配符 代表1个任意字符

回答(3):

两个解决方法
楼上是一种:
select * from 表名 where 字段名 like '%[_]1[_]%'

这也可以:
select * from 表名 where 字段名 like '%\_1\_%' escape '\'

而斜杠 \ 之后的 _ 解释为字符 _ 不再是个通配符