按第一个字符过滤列值?

时间:2014-02-16 23:48:11

标签: php mysql sql database

这是我到目前为止所做的。

$filtered_results = array();

$result = $this->db
               ->select('name')
               ->from('user')
               ->get()
               ->result_array();    

foreach($result as $name)
{
    if($name[0]=='a')
    {
        filtered_results[] = $name;
    }
}

如果我的表包含大量行,上面的代码逻辑上浪费了太多时间来处理所有结果。因此,另一种方法是直接检索'a'作为$name[0];的结果。这可能吗?

->where('name'.[0],'a')

1 个答案:

答案 0 :(得分:4)

这将是一个开始:

例1:

SELECT `name` FROM `user` where `name` like 'a%'

示例2:(Marc B)

SELECT `name` FROM `user` WHERE LEFT(`name`, 1) = 'a'