Переключить данные столбца, где столбец содержит число? - PullRequest
0 голосов
/ 19 августа 2010

У меня есть таблица с 3 столбцами

id, компания и адрес

Сегодня я нашел ошибку, которая сохранила адрес в столбце компании и компании в столбце адреса ИНОГДАЯ исправил ошибку, и теперь я пытаюсь разместить данные в нужных местах

В каждом адресе есть номер, поэтому я предполагаю, что самый простой способ - это переключать столбцы адресов и компаний, если естьномер в столбце компании (если в настоящем названии компании должен быть номер, это не имеет большого значения: p).

Как мне написать это на TSQL?

Ответы [ 2 ]

1 голос
/ 19 августа 2010

Я не уверен, что это правильно, но поскольку я не могу придумать какую-либо другую альтернативу, она должна это сделать.

Update dbo.MyTable
Set Company = Address,
    Address = Company
Where Company like '%[0-9]%'
0 голосов
/ 19 августа 2010

Вы можете попробовать это: я установил простую защиту, чтобы избежать обмена, если адрес компании уже содержит число

insert into COMPANY (NAME, ADDRESS) 
VALUES ('2 bld d''Italie' , 'CA') , 
('Take 2' , 'anselmo street 234') , 
('Microsoft' , '1 Microsoft Way Redmond'), 
('lake street 14' , 'Norton'), 
('lake street 17' , 'trendMicro');

SELECT * FROM COMPANY

UPDATE COMPANY set NAME = ADDRESS, ADDRESS = NAME
WHERE NAME like '%[0-9]%' and (ADDRESS not like '%[0-9]%')

SELECT * FROM COMPANY

Вы могли заметить, что строка дубля 2 не поменяется местами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...