2016-09-02 16 views
0

私はこのようなデータを持っている:同じテーブルの別の列で列を更新するにはどうすればよいですか?

+--+----------+--------+------+ 
|Id|class_name|class_id|medals| 
+--+----------+--------+------+ 
|1 |7IPA1  |7  |3  | 
|2 |7IPA2  |7  |2  | 
|3 |7IPA3  |7  |5  | 
|4 |8IPA1  |8  |1  | 
|5 |8IPA2  |8  |7  | 
|6 |8IPA3  |8  |3  | 
+--+----------+--------+------+ 

私はclass_id上のデータが7IPA & 8IPA(CLASS_NAMEから4の最初の文字)も欲しいです。

答えて

2

あなたはsubstring機能を使用する必要があります。

UPDATE MYTABLE SET CLASS_ID=SUBSTRING(CLASS_NAME,1,4) 
+0

ありがとう、ありがとう非常に@apome、多分次回私はもう一度多くの質問をしたい:) – gufran

2

もう一つの方法は、LEFT文字列関数を使用しているあなたは、新しい列をしたいよう

Select LEFT(CLASS_NAME,4) from yourtable 

が見えると、既存の列を更新しないと、私はあなたを提案します計算列を作成する

alter table yourtable add new_class_id as (left(class_name,4)) persisted 
関連する問題