Hi All,
i have a customerid field, 1,2,3,20,30,31,32,100,150,250
but when we sort it comes 1,100,150,2,20,250,30,31,32
is there any way we can sort incremented numbers using sql query
Microsoft SQL Server
Last Comment
Scott Pletcher
8/22/2022 - Mon
Jim Horn
Is your field a character (char, varchar, nvarchar) or numeric (int, money, numeric)?
What you describe is typical of character sorting, so to sort numerically you can CAST(that number as numeric(19,4))
This also assumes that every value is a number, otherwise you'd have to weed them out.
romeiovasu
ASKER
it has got character also inside
example c01, c02, c03, c20, C25
Paul MacDonald
It sounds like your column is a varchar column, not an integer or decimal column. If you can change the column type, you should be okay. Otherwise you may have to CAST the column value before you sort on it.
Although you may have to deal with other issues such as blanks or NULL values, more than one letter, or other letters, based on if the data is as advertised here.
>i have values like this C0010001F
Before we go further, instead of a 'multiple iterations of ten words or less' approach, how about providing us a data mockup of the data you're working with.
Paul MacDonald
Obviously all those values can't mean the same thing. Should they all be in the same column?
What you describe is typical of character sorting, so to sort numerically you can CAST(that number as numeric(19,4))
This also assumes that every value is a number, otherwise you'd have to weed them out.