php mysql搜索前缀

sqougxex  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(468)

我正在用php/mysql做前缀搜索,但是像条件一样没有记录。
我有参考id-hfct8765865674,我想搜索42891hfct8765865674,其中42891是我的前缀。我已经试过了 str_replace 但不工作,因为我会删除前缀从其他ID以及。
mysql查询-

SELECT * FROM leads where reference_id like '%42891HFCT8765865674%'

kxxlusnw

kxxlusnw1#

如果前缀始终存在于字符串中且长度始终相同:

SELECT * FROM `leads` WHERE reference_id LIKE CONCAT('%', SUBSTRING('42891HFCT8765865674' FROM 6));
yjghlzjz

yjghlzjz2#

您可以使用删除前缀 str_replace 如果你知道前缀是什么。

$id = '42891HFCT8765865674';
$prefix = '42891';

$new_id = str_replace($prefix, '', $id);

$sql = "SELECT * FROM  leads where reference_id like '%$new_id%' OR '%$id%'";

如果你不知道前缀,但知道它的长度,你可以使用 substr :

$id = '42891HFCT8765865674';
$prefix = substr($id, 0, 5);
$new_id = substr($id, 5);

$sql = "SELECT * FROM  leads where reference_id like '%$new_id%' OR '%$id%'";

相关问题