2013-06-03 24 views
6

SQL Server 2008 kullanıyorum. unique_number adlı yeni bir sayısal sütun oluşturduk ve bu sütunu, site ve number adı verilen diğer iki sayısal sütunu birleştirerek doldurmak istiyorum. site sütun 1-31 arasındadır ve 10'dan küçük değerlerin önünde sıfır yoktur. Ben iki sütun toplamı olmak unique_number almak mümkün olmuştur + kullanma aşağıdakiSQL sunucusu: iki sayısal sütunun değerlerini birleştirme

Number  Site unique_number 
1234567  2  12345672 
3456789  26  345678926 

ister misiniz, ama ben bir toplamıdır, bir birleştirme gerçekleşmesini istiyoruz. varchar olarak kullanma özelliğini kullanarak başka öneriler denedim, ancak select deyimi bana hata vermeye devam ediyor. Bunu yapmanın makul bir yolu var mı?

+2

Bunu neden saklamanız gerekiyor? 'Number' her zaman 7 haneli (ve eğer 12345622'nin' 12345622'' veya '1234562,2''yse bunu nasıl anlayacaksınız? –

cevap

8

Bunları sıralamak sonra bir varchar olarak sütunların her ikisini döküm ve mümkün olmalıdır: o zaman sadece yukarıdaki kullanmak istiyorsunuz, size tablosunu güncellemek istiyorsanız

select number, site, 
    cast(number as varchar(50)) 
    + cast(site as varchar(2)) unique_number 
from yt; 

SQL Fiddle with Demo

Bkz bir güncelleme açıklamada:

update yt 
set unique_number = cast(cast(number as varchar(50)) 
          + cast(site as varchar(2)) as int); 

Bkz Demo

+0

Kolaydı, teşekkürler. Masamı aynı anda nasıl güncelleyeceğime dair bir ipucu var mı? Güncelleştirme deyimini kullandığımda, – user2448666

+0

@ user2448666 select deyimi nedeniyle hata oluştuğunda, bir UPDATE deyimi kullanacaksınız, – Taryn

+0

demo ile düzenlememe bakma neyi nümerik olarak değiştirmem gerekti, ancak bu mükemmel bir şekilde çalıştı. Yardım için teşekkürler. – user2448666

İlgili konular