2017-01-27 6 views
0

名前に文字が含まれている場合、クエリ内の文字列の末尾を削除する必要があります。文字が存在する場合、残りの文字列を削除するSQL

例: 名= Jeff(2)

(n)は私には関係ないですが、私は明らかにSQLの知識に欠けていることだし、似た何かを見つけることができません。

+1

あなたはのみ( '最初の'の文字までの部分文字列を抽出したいspecific..do以上でなければなりませんもしそれが存在すれば?サンプルデータと期待される出力を表示してください –

+0

申し訳ありません、フィールドは "Jeff(id)"として保存されていますが、Jeffを抽出する必要があります。うーん、idを持っていない。ですから、最終的に "(id)"があるかどうかに関わらず、私の予想される出力は "Name"である必要があります。 – mookie

答えて

0

あなたが機能を使用することができますSUBSTRING_INDEX

UPDATE yourTable 
set `name` = SUBSTRING_INDEX(`name`, '(', 1) 
WHERE name LIKE '%(%)'; 

サンプル

MariaDB [test]> SELECT SUBSTRING_INDEX('Jeff(2)', '(', 1); 
+------------------------------------+ 
| SUBSTRING_INDEX('Jeff(2)', '(', 1) | 
+------------------------------------+ 
| Jeff        | 
+------------------------------------+ 
1 row in set (0.00 sec) 

MariaDB [test]> 
関連する問題