我正在用PHP / MySQL做前缀搜索,但条件类似,所以记录为零。
我的参考ID为-HFCT8765865674,我要搜索42891HFCT8765865674,其中42891是我的前缀。我可以尝试使用strpos和str_replace
,但无法正常工作,因为我也会从其他ID中删除前缀。
Mysql查询-
SELECT * FROM leads where reference_id like '%42891HFCT8765865674%'
答案 0 :(得分:0)
如果您知道前缀是什么,则可以使用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%'";
答案 1 :(得分:0)
如果前缀始终存在于字符串中并且长度始终相同:
SELECT * FROM `leads` WHERE reference_id LIKE CONCAT('%', SUBSTRING('42891HFCT8765865674' FROM 6));