%:表示任意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 '%三%猫%' 虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。
不知道你是否看懂,不懂可以追问
题主的意思应该是在查询结果为int型数据后面,加上%号,比如查询及格率的时候。
提供一种方法,可以用cast函数将int型数据转换为varchar型,然后再加上%就OK了。
模板是:cast(int型数据 as varchar)+ '%'
举个例子:
比如我想查询数据库的及格率(按照百分比输出):
CAST(round(100*sum(case when c.cname='数据库' and s.score>=60 then 1 else 0 end)/SUM(case when c.cname='数据库' then 1 else 0 end),0) as varchar) +'%' as 及格率
添加中括号即可,% 转换为 [%] ,这样%就是指希望匹配的字符本身包括的%而不是专门用于匹配的通配符
select * from table where a like ‘%aa[%]bb%’
列名 like '%查询字符%'