我使用的不是我自己制作的广告预订系统。对于广告表中的每一行,可以有多种尺寸。每个大小是另一个表的参考ID。没关系。
但是它是这样存储的(当我写空间时,这是一个实际的空间):
1(空间)(空间)(空间)12(空间)
1(空间)(空间)(空间)(空间)(空间)
2(空间)(空间)25(空间)1
看起来像这样:
1 12
1
2 25 1
因此,当然,当我执行这样的查询时:
$this->db->get_where('online_ads', array('submitted >=' => '1314887098', 'submitted <=' => '1317673118', 'size' => '1'));
我得到的东西都是1。我尝试了这个:
$this->db->like('size', '1')->get_where('online_ads', array('submitted >=' => '1314887098', 'submitted <=' => '1317673118'));
但这仍然不能给我准确的结果。我也尝试了FIND_IN_SET,但这仅适用于逗号。
我如何才能知道存储了1个,2个,12个等等,而没有给我任何包含1或2的东西呢?
最佳答案
我认为您必须使用更高级的模式匹配,例如regexp。我认为,如果只希望以“ 1”开头的内容,则RLIKE "^1 "
之类的东西应该可以工作。