2013-07-22 12 views
-2

我有一個名爲Table1的表,它有一個名爲Col1的varchar。我想創建一個Table2並在Col1的內容前添加一個前導「0」。在數字前加上字符+ varchar

如何將零字符添加到varchar的前面?我嘗試了幾種方法,但似乎沒有任何工作。

+0

顯示了你已經在你的代碼/ sql中做了什麼以及你有什麼問題的例子。 – Tanner

+0

我這樣做:select RIGHT('00000000000'+ convert(varchar,dbo。[kyc2] .walletno),11)它顯示以下錯誤:_多部分標識符「dbo.kyc2.walletno」無法綁定._而我無法想象如何創建一個新表格。 –

回答

1

下面的查詢將創建表2與領先的「0」 COL1什麼。

select '0' + Col1 Col1 into table2 
from table1 

如果已經創建了table2並且您只想填充數據。

insert into table2(Col1) 
select '0' + Col1 
from table1 
+0

我的表格未創建。所以我用你的第一個代碼。但它給出了這個錯誤:_對象或列名缺失或空。對於SELECT INTO語句,請確認每列都有一個名稱。對於其他語句,查找空的別名。別名定義爲「」或[]是不允許的。將別名更改爲有效的名稱._我做錯了什麼? –

+0

編輯我的第一個答案。需要爲第一列添加別名。 – Vasanth

+0

這是訣竅。謝謝:) –

0

這應該做你想要

insert into newTable select concat('0',col1), ........... FROM oldTable 
+0

'CONCAT'僅限於SQL Server 2012+。 –

1

好吧,如果你想添加100個零,你可以這樣做:

select replicate('0', 100)+col1 
. . . 

如果你想用一個給定長度的前導零,然後用right()結合本:

select right(replicate('0', 10)+col1, 10) 
. . . 

如果您需要將這些插入到另一個表中,請在該表上使用insertupdate而不是select

+0

它說:_當我使用第二個代碼時,正確的函數需要2個參數。 –