2

私は、変数の1つがPlayerであるリストテーブルを持っています。プレイヤーの名前が「_」で、姓が次のようになっている場合:

Mike_Gonzalez

プレーヤー変数から 2 つの新しい変数を作成したいと思います。最初の変数は firstName なので、すべての文字を " " の左側に配置します。2 番目の変数は lastName で、" " の右側のすべての文字になります。

LEFT(Player, LOCATE('_', Player)) を使用してみましたが、使用すると、新しい変数に _ が含まれます。

_ なしで姓名を取得できるコードを実行するにはどうすればよいですか?

助けてくれてありがとう。

4

3 に答える 3

10

LEFT()RIGHT()を組み合わせるだけでなくLOCATE()、以下も使用できますSUBSTRING_INDEX()

SELECT
    SUBSTRING_INDEX(Player, '_', 1) AS FirstName
  , SUBSTRING_INDEX(Player, '_', -1) AS LastName
于 2011-10-22T01:10:10.060 に答える
3
LEFT(Player, (LOCATE('_', Player) - 1))

LEFT基本的に、2 番目のパラメーターの値を1減らして、_

于 2011-10-22T01:06:39.963 に答える