| Author |
Topic |
|
jasonsy
Starting Member
11 Posts |
Posted - 2010-03-08 : 03:14:36
|
| I have an existing table and I want to number them from 00001..nnnnn using a column. how can i do this? |
|
|
madhivanan
Premature Yak Congratulator
22864 Posts |
Posted - 2010-03-08 : 03:23:56
|
| Do you want to update existing column or want to create a new column with the data?MadhivananFailing to plan is Planning to fail |
 |
|
|
jasonsy
Starting Member
11 Posts |
Posted - 2010-03-08 : 04:13:21
|
| I just want to update an existing column. Thanks. |
 |
|
|
vaibhavktiwari83
Aged Yak Warrior
843 Posts |
Posted - 2010-03-08 : 04:38:32
|
| This is what you want or something else...USE tempdbIF EXISTS ( SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID('#table') ) BEGIN DROP TABLE #table ENDGOCREATE TABLE #table (RowNum VARCHAR(10), ID int, Name varchar(20),Salary Numeric(18,2) )GOINSERT INTO #tableSELECT '', 1,'A',100UNION ALLSELECT '', 2,'B',5000UNION ALLSELECT '', 3,'C',9000UNION ALLSELECT '', 4,'D',4000UNION ALLSELECT '', 5,'E',6000GOSELECT * FROM #tableGOUPDATE #table SET RowNum = RIGHT('0000' + CONVERT(VARCHAR, s.rownum), 5)FROM #table tINNER JOIN (SELECT ID, Row_Number() OVER (ORDER BY (SELECT 1) ) RowNum FROM #table) sON t.Id = s.IDGOSELECT * FROM #tableVabhav T |
 |
|
|
madhivanan
Premature Yak Congratulator
22864 Posts |
Posted - 2010-03-08 : 05:51:09
|
| Note that above solution will only work from version 2005 onwardsMadhivananFailing to plan is Planning to fail |
 |
|
|
jasonsy
Starting Member
11 Posts |
Posted - 2010-03-08 : 23:17:38
|
| I only need to update an existing blank column with chronological numbers with padded zeroes for exampleacc ctr11111 0000122222 00002and so on.thanks. |
 |
|
|
jasonsy
Starting Member
11 Posts |
Posted - 2010-03-11 : 00:39:38
|
| i got it. thanks. |
 |
|
|
madhivanan
Premature Yak Congratulator
22864 Posts |
Posted - 2010-03-11 : 02:07:06
|
quote: Originally posted by jasonsy i got it. thanks.
Post the workable solutionMadhivananFailing to plan is Planning to fail |
 |
|
|
jasonsy
Starting Member
11 Posts |
Posted - 2010-03-11 : 02:58:29
|
| This is the solution.declare @intCounter intset @intCounter = 0update SvAccTempSET @intCounter = Ctr = @intCounter + 1Where DrAmt > 0SELECT * FROM SvAccTempGOUPDATE SvAccTemp SET LineNumber = RIGHT('0000' + CONVERT(VARCHAR, Ctr), 5)Where DrAmt > 0 |
 |
|
|
|