我有一个有3列的表
id,公司和地址
我发现今天发现了一个错误,在地址栏中的公司专栏和公司中保存了地址,我纠正了错误,现在我试图将数据放在正确的位置
每个地址都有一个数字,所以我的猜测是,如果公司列中有一个数字,最简单的方法是切换地址和公司列(如果真实的公司名称中应该有一个数字,这不重要那么多:p)。
我应该如何用TSQL写这个?
答案 0 :(得分:1)
我不确定在这里做这件事是正确的,但是因为我不能想到任何其他替代方案,所以应该这样做。
Update dbo.MyTable
Set Company = Address,
Address = Company
Where Company like '%[0-9]%'
答案 1 :(得分:0)
您可以尝试这样做:如果公司地址已包含数字,我会提供一个简单的保护以避免交换
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行