1

SELECT以下のように、列名 when ステートメントとクエリをフィルター処理しようとしています。

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

以下のような列「名前」データ:

アンジェリーナ・ジョリー | ブラッド・ピット | デビッド・ベッカム ....

フィルター :

列名 (p.name) を選択するときは、「名前」文字列を選択してから、スペースの後のすべての文字列を削除します。つまり、列を選択すると、アンジェリーナ、ブラッド、デビッドという名前を選択するだけです...

* implode を使用してこれを実行できることはわかっていますが、クエリ行内にフィルターが必要です。

4

3 に答える 3

1

これを試して:

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

SQL フィドルのデモ

于 2012-11-23T07:01:09.330 に答える
1

これを試して:

SELECT p.id, SUBSTRING_INDEX(p.name , ' ', 1) `name`  FROM `person` p;
于 2012-11-23T07:01:27.683 に答える
1

これを試して::

select substring_index(p.name,' ',1) as name, p.id from person p
于 2012-11-23T07:02:58.563 に答える