2014-04-07 158 views
0

我有一個表,說 T1(COL1,COL2,COL3,COL4)更新在SQL Server

現在說的第2列是有VARCHAR值。 要求:應始終有11位數字。

有值whoes長度範圍從5到11位數字。

根據col2表中已經存在的值的長度,我需要在數字前綴零(0)。

例如,如果值是12345我需要將它更新爲00000等等。

請建議。如果可能的話,讓我知道爲多個表格的多行(基於長度)指定此更新staement。

回答

0

嘗試這種情況:

update T1 
set col2 = RIGHT('000000'+col2,11) 
0

SELECT * RIGHT(REPLICATE( '0',11) + CAST(col2的AS VARCHAR(11)),11​​)FROM T1

col2的

希望這可能有幫助。

0

喜歡的東西

Update SomeTable set SomeColumn = replicate('0',11 - data_length(SomeColumn)) + SomeColumn 
Where blah blah blah 

應該這樣做

認爲沒有必要光標在所有。