我正在用php/mysql做前缀搜索,但是像条件一样没有记录。我有参考id-hfct8765865674,我想搜索42891hfct8765865674,其中42891是我的前缀。我已经试过了 str_replace 但不工作,因为我会删除前缀从其他ID以及。mysql查询-
str_replace
SELECT * FROM leads where reference_id like '%42891HFCT8765865674%'
kxxlusnw1#
如果前缀始终存在于字符串中且长度始终相同:
SELECT * FROM `leads` WHERE reference_id LIKE CONCAT('%', SUBSTRING('42891HFCT8765865674' FROM 6));
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 :
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%'";
2条答案
按热度按时间kxxlusnw1#
如果前缀始终存在于字符串中且长度始终相同:
yjghlzjz2#
您可以使用删除前缀
str_replace
如果你知道前缀是什么。如果你不知道前缀,但知道它的长度,你可以使用
substr
: