2014-04-07 118 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 

应该这样做

认为没有必要光标在所有。