2016-09-02 2 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 (4 первый символ из class_name).

ответ

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 
Смежные вопросы