切换列包含数字的列数据?

时间:2010-08-19 08:39:13

标签: tsql

我有一个有3列的表

id,公司和地址

我发现今天发现了一个错误,在地址栏中的公司专栏和公司中保存了地址,我纠正了错误,现在我试图将数据放在正确的位置

每个地址都有一个数字,所以我的猜测是,如果公司列中有一个数字,最简单的方法是切换地址和公司列(如果真实的公司名称中应该有一个数字,这不重要那么多:p)。

我应该如何用TSQL写这个?

2 个答案:

答案 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行