mysql模糊查询固定某个字符

mysql模糊查询固定某个字符,第1张

使用mysql模糊查询时,如果输入特殊字符,比如%,_会导致查询条件匹配所有记录,因为mysql的模糊查询要使用like关键字,而%和_分别时通配符,%表示任意个任意字符,_表示任意一个字符,如果要查询的字符包含%或_,会导致查询条件无效。

这个问题,首先要将%和_符号进行转义,这样就与mysql的%和_通配符不冲突,

在特殊字符前加 / ,特殊字符分别转义成

具体步骤如下:

1,把所有表的结构和数据导出为文本的.sql文件,用文本编辑软件word或者dw等都可以,用替换方法比如把字符A替换为B,但这有可能误 *** 作,所以要慎重查看;

2,替换完以后,再利用mysql数据管理软件,把SQL文件导入到新的数据库中,进行严格测试,通过后;把旧版数据备份(主要为了安全着想),然后导入新的数据即可完成所需 *** 作。

db2数据库 有个values函数可用于你说的这种 *** 作,但是mysql本身是 没有这样的函数的。

下面是取巧的一种写法,也能得到你想要的数据。如图:

select 

    trim(substring_index(substring_index(a.num,',',b.help_topic_id + 1),',' ,- 1)) AS numb

from (

select 

    '39982665399,39023431098,39764974481,39055572973,39897342743,40127675336,40174795679' as num 

from dual ) a 

JOIN apsc.help_topic b ON b.help_topic_id <(length(a.num) - length( REPLACE(a.num, ',', '') ) + 1 )

希望能帮到你!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8383877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存