sql - How do I order by on a varchar field that could contain numbers alphabetically? -
i sure must quite common problem guess microsoft have solved problem. googling skills not scratch. have field want order by, varchar field, example
- q
- num 10
- num 1
- a
- num 9
- num 2
- f
now expect result be
- a
- f
- num 1
- num 2
- num 9
- num 10
- q
but not. follows (notice num 10 comes after num 1 , not num 9 expected)
- a
- f
- num 1
- num 10
- num 2
- num 9
- q
now know reason don't need explain :) can't remember how solve or if there nice flag or command can use right.
edit:
the examples above example. column contain value. combination of letters , digits. there way sort humanly alphabetically instead of ascii value alphabetically?
edit 2: answers far. talking arbitary data. if in fixed position or preceded easy , wouldn't asking. asking general solution problem arbitary data. not patterns, no rules, no nothing.
this age old problem of ascii sort order vs. natural sort order
see http://www.codinghorror.com/blog/archives/001018.html further details.
Comments
Post a Comment