SQL数据库怎么实现模糊查询?

来源:百度知道 编辑:UC知道 时间:2024/06/25 00:05:08
有两个文本数据。一个文本显示的是83XX58193之类的数据。另一个显示的全面的数据。怎么把这两给文本里相同的数据查找出来呢?求高手解答
一个文本里有几万条83XX58193之类的数据,另一个文本有几十万条完整的数据(就像833358193这样的数据)
怎么样才能实现模糊查找这两个文本中一样的的数据?

select * from 表名 where 列名 like '%83XX58193%'
其中%代表匹配任意个字符
如 like '%83XX58193%' 可以匹配 aa83XX58193,aa83XX58193bbcc,83XX58193等
_表示可以匹配任意单个字符
如 like 'a_b' 可以匹配axb,acb,但是不能匹配ab,avvb等
如果想匹配_和%本身的话必须用[]框住
如 like'%[%]%' 则匹配aaa%bbb,%,%bb,aa%等

使用sql语句查询数据,做模糊查询的方法是在要模糊掉的位置加上一个百分号%
比如:要查询id号是:83XX58193,只要满足前面是83,结尾是58193的所有记录的查询方法:
select * from table_name where id like '83%58193';
意思就是查询表名为table_name下的id像 83XXX58193的所有记录。

用通配符%或_,前者代表任意多字符,后者代表一个字符。
有时候,查询的字符串中有%或_,这样可以通过定义转义字符来处理。

like '83__58193'

like '83%58193'
%代表任意位任意数