2013-12-03 4 views
1

У меня есть имя таблицы master и имя столбца с numberMysql Обновление таблицы с подстроки

колонка number имеют value = A011017

Я хочу изменить 5 = ​​0 изменение с 2

я стараюсь с этим кодом

update master set number =substr(number,5,1) where number like 'A011%' 

Я хочу изменить все строки на 2 в 5-й позиции

Помогите мне пожалуйста

+1

«Номер столбца имеют значение = A011017 Я хочу изменить 5 = ​​0 изменение с 2» ... пожалуйста, объясните это ясно , – uvais

+0

возможно 'A011017'' 'A011217'? –

+0

i означает, что номер записи 5 от A011017 равен нулю (0) Я хочу изменить значение с помощью 2 – user3061075

ответ

2

Что-то вроде этого?

update master 
set number = 
concat(substring(number,1,4),"2",substring(number,6)) 
where number like 'A0110%' 
; 

Вы можете отрегулировать положение where соответствующим образом (не уверен, нужно ли все строки с 0 в 5-м положении или только те строки, начинающиеся с «A011»). Например, если вы хотите изменить все строки с «0» в 5-м положении, чтобы иметь «2» в пятой позиции, то используйте:

update master 
set number = 
concat(substring(number,1,4),"2",substring(number,6)) 
where substring(number,5,1) = "0" 
; 

... или если вы хотите изменить все строки с «2» в 5-м положении, чтобы иметь «0» в 5-м положении, а затем использовать это:

update master 
set number = 
concat(substring(number,1,4),"0",substring(number,6)) 
where substring(number,5,1) = "2" 
; 
+0

Я хочу изменить все строки с 2 в 5-й позиции – user3061075

+0

Я хочу изменить все строки на 2 в 5-м должность – user3061075

Смежные вопросы