2017-07-11 17 views
0

私は、テキストの可変量の行を含むテキストフィールドを持つ奇妙なデータベースを持っています。一貫しているのは、必要なデータが各フィールドの2行目の4文字の文字列であることです。テキストフィールドの2番目の行から文字列を選択する方法mysql

フィールド内のテキストの例は、私が必要なもの

Smoke That Thunders R 
44' Zambia 2016 

を下回っていることは、この「44'」の部分、2行目のみの最初の4つの文字です。

この4文字の文字列を新しい列としてselectにする必要があります。これは可能ですか?私が見ることができるから、substring(str, pos, len)が理想的ですが、2行目のsubstring関数の開始位置をどのように設定しますか?

答えて

2

あなたは列として新しい行\nを使用することができますし、最初のLOCATEそれは、例えば:

SELECT LOCATE('\n', column_name) 
FROM table; 

これはあなたに\n(すなわち新しい行)の最初のoccuranceの指標を与える、あなたはそれからにそれを使用することができますSUBSTRING、例えば:

SELECT SUBSTRING(column_name, LOCATE('\n', column_name), 4) 
FROM table; 

はここLOCATESUBSTRINGのドキュメントです。

更新

新しいラインだけでは動作しない場合は、改行やキャリッジリターン(すなわち\r\n)の組み合わせで試すことができます。

+0

私はこの溶液にゆっくりと到達しました。場所はきれいです。 – BusinessPlanQuickBuilder

+0

ありがとう、私はこれのために 'LOCATE'とは考えていませんでした。あなたの答えは私に空白行の結果を与えていたので、代わりにこれを試してみました。 'SELECT SUBSTRING(column_name、LOCATE( '\ n'、column_name)、4) FROMテーブル; – Daniel

+0

@Danielさんからフィードバックいただきありがとうございます。 –

関連する問題