学习mysql查询时,遇到=,like判断char,varchar时使用错误,在此总结

dbq,实验做的有点错,直接总结
“=”适用于完全相等
like使用于模糊匹配
无论char还是varchar
模糊匹配的时候,要注意是否需要%
例:
‘%p’:查找末尾是否有p
‘p%’:查找头是否有p
‘%p%’:查找是否含有字串p(所有位置)

生成测试数据表格
数据表格

Tchar Tvarchar
qwe asd
zxc cvb
rty dfg
123 456

判断符号:=,判断字符类型:char

完全相等,匹配到
mysql查询语句实验
不完全相等,未匹配到
mysql查询语句实验
mysql查询语句实验mysql查询语句实验

判断符号:=,判断字符类型:varchar

完全相等,匹配到
mysql查询语句实验
不完全相等,未匹配到
mysql查询语句实验
mysql查询语句实验
mysql查询语句实验

判断符号:like,判断字符类型:char

完全相等,未匹配到
mysql查询语句实验
不完全相等,未匹配到
mysql查询语句实验
mysql查询语句实验
mysql查询语句实验
mysql查询语句实验
mysql查询语句实验

判断符号:like,判断字符类型:varchar

完全相等,匹配到
mysql查询语句实验
不完全相等

后有%
mysql查询语句实验
修改s为d则匹配到
mysql查询语句实验
前有%
mysql查询语句实验
修改s为a则匹配到
mysql查询语句实验
前后均有%则匹配到
mysql查询语句实验
mysql查询语句实验
mysql查询语句实验
ps:出现两个结果的原因,%对应的字符数可以为0,所以匹配到dfg

综上:
‘=’仅适用完全相等的char和varchar类型字符,无模糊匹配
‘like’一般适用于varchar的模糊匹配(配合char无法使用),且模糊匹配的时候需要配合%使用,%处为省略的字符,可以未0

相关文章:

猜你喜欢
  • 2021-09-24
  • 2021-12-08
  • 2021-10-27
  • 2021-08-03
相关资源
相似解决方案