可能使用过滤器选择列名称

时间:2012-11-23 06:54:27

标签: php mysql

我尝试在SELECT语句和我的查询时过滤我的列名:

$query = "select p.id, p.name from `person` p";

列'名称'数据如下所示:

Angelina Jolie |布拉德皮特|大卫贝克汉姆......

过滤:

当选择列名(p.name)时,我只想选择'name'字符串,然后删除空格后的所有字符串。意思是当我选择列时我只选择名字Angelina,Brad,David ......

* 我知道我们可以使用implode来做到这一点,但我希望在查询行内部进行过滤。

3 个答案:

答案 0 :(得分:1)

试试这个:

select p.id, left(p.name,locate(' ',p.name)-1) from `person` p

SQL Fiddle demo

答案 1 :(得分:1)

试试这个:

SELECT p.id, SUBSTRING_INDEX(p.name , ' ', 1) `name`  FROM `person` p;

答案 2 :(得分:1)

试试这个::

select substring_index(p.name,' ',1) as name, p.id from person p