2011-09-20 11 views

答えて

20

戻り区切り文字が最初に出現する前にストリング「 - 」:

SELECT SUBSTRING_INDEX('foo-bar-bar', '-', 1) as result;

出力結果=「foo」という

をあなたが取得する前に、あなたが望む出現番号を1に置き換えることができますサブ

SELECT SUBSTRING_INDEX('foo-bar-bar', '-', 2) as result;

出力結果= "fooのバー"

参考:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index

+0

したい取得するためsplitingのオブジェクト、および数は、3 prametersを持っています作品!どうもありがとうございました !! – jingo

+2

リファレンス - http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index –

8

SELECTはREPLACE( "sometext-othertext"、 - 、 "" "")これはそれを行う必要がありますNEWVALUE

として。
編集:以前の質問を理解していないため

SELECT SUBSTRING_INDEX('sometext-othertext', '-', 1) as newvalue; 

謝罪。

+2

いいえ、これは 'sometextothertext'を生成し、OPは' sometext'を求めます。 – jensgram

+0

申し訳ありません - 急いで私は推測する! SELECT SUBSTRING_INDEX( 'sometext-othertext'、 ' - '、1)をnewvalueとして指定します。 – zarun

0

活用mysqlの交換する機能をREPLACE「 - 」「あなたはすべての(のみだけ削除するには、表示したい場合

+0

それはすべての目標ではありません。最初のダッシュに続くものはすべて削除する必要があります。 – jensgram

+0

申し訳ありませんが、私は質問を誤解しました。 – DhruvPathak

0

は、このトラブルシューティングを使用する2つの方法を持っている」「で - 」の記号は、私が持っている。このため、使用することをお勧めしますもっとスピード:「 - 」

SELECT REPLACE('sometext-othertext','-',''); 

構文の変更テキストと「」(空のテキストあなたはちょうどそれを削除したいので)

あなただけの一部を一(例:sometext)を表示したい場合や部分だけを2つ(例:othertext)これを使用して文字列を分割することができます

SELECT SUBSTRING_INDEX('sometext-othertext', '-', 1); 
0

だけ使用します。

SELECT SUBSTRING_INDEX('sometext-othertext', '-', 1); 

機能、まずそれがテキストである、第二(1)(コントローラー)

関連する問題