SQL怎么知道有没有% (不是通配符,而是百分号)

例如:有"b%" 怎么知道字符串里有%? 除了 like ✀%x%✀ escape ✀x✀这个方法
2024-12-04 09:16:20
推荐回答(5个)
回答1:

如:select * from 学生表 where 姓名 like'%[%]%'
有如下结果:
2009121001 贾%涛 男 1992-11-02 00:00:00.000 河南郑州 005 2003
2009121002 李明% 女 1989-06-03 00:00:00.000 河南焦作 001 2001
【通配符详解:】
将通配符作为文字使用
可以将通配符模式匹配字符串用作文字字符串,方法是将通配符放在括号中。下表显示了使用 LIKE 关键字和 [ ] 通配符的示例。
符号 含义
LIKE '5[%]' 5%
LIKE '[_]n' _n
LIKE '[a-cdf]' a、b、c、d 或 f
LIKE '[-acdf]' -、a、c、d 或 f
LIKE '[ [ ]' [
LIKE ']' ]
LIKE 'abc[_]d%' abc_d 和 abc_de
LIKE 'abc[def]' abcd、abce 和 abcf

回答2:

SQL里面有“% ”符号。

SQL中“%”表示通配符。例如:like 'DB\%i'ESCAPE'\'这句的意思就是:

查找DB%i这样的内容,其中\是换吗字符,所以%被转义为普通的%字符,而且此方法适合于通配符‘-’。

回答3:

1.SQLSERVER的语法用 like '%[%]%' 这个可以
2.ORACLE的语法的话,简单的可以使用INSTR函数,INSTR(column_name, '%') > 0
也可以使用转义select * from table where columnname like '%\%%' escape '\'

回答4:

like 'DB\%i'ESCAPE'\'
这句的意思就是:查找DB%i这样的内容,其中\是换吗字符,所以%被转义为普通的%字符,而且此方法适合于通配符‘_’
希望对你有用,诚邀交流,希望采纳!

回答5:

% 前面加个 \