2013-02-18 3 views
0

У меня есть база данных MSSQL и я пытаюсь обновить поле базы данных, которая имеет данные, как так ..обновления с рег ех или

1111-2222-3333-4444

Я хочу пройти все записи и изменить первые 3 набора чисел и оставить последнее на месте.

Итак, после обновления все они будут 0000-0000-0000-4444 с будучи, что было раньше.

Как я могу это сделать?

+0

всегда есть 4 цифры в конце? – Justin

+0

нет, это просто показывает 4 набора из 4 чисел – Monty

ответ

3

Если все строки находятся в точно таком же формате, что и вы хотите изменить первые три группы символов, точно такое же значение в каждой строке, то что-то подобное будет работать:

update tblToUpdate 
set columnToUpdate = '0000-0000-0000-' + right(columnToUpdate , 4) 

Определенно сделать резервное копирование этой таблицы, прежде чем делать что-то слишком сумасшедшее!

0
create table tmp (a varchar(32)) 

insert into tmp values ('1111-2222-3333-4444') 
GO 

select '0000-0000-0000-' + substring(a, 16, 4) 
from tmp 
Смежные вопросы