Hello Pavel,

Thanks. 
The substr() compares the first character only.
For example, if the data is [CAT=$, CAT1$], it has to be sorted as
[CAT1$, CAT=$] because when '=' and '1' are compared, '1' has to come first.
Thanks for any suggestions.
-Harish



Pavel Ivanov-2 wrote:
> 
> If you want to do that completely in SQL without using collations you
> can do something like this:
> 
> select name,
>   case when substr(name, 1, 1) between 'A' and 'Z' or
>           substr(name, 1, 1) between 'a' and 'z'
>       then upper(name)
>     when susbtr(name, 1, 1) between '0' and '9' then '|' || upper(name)
>     else '~' || upper(name)
>   end as sort_col
> from mytable
> order by sort_col;
> 
> (I used the fact that '~' goes after '|' in ASCII)
> 
> But of course you can achieve much better performance with collation
> or user-defined function implementing all this logic.
> 
> 
> Pavel
> 
> On Tue, Dec 14, 2010 at 9:16 AM, Harish CS <cshar...@gmail.com> wrote:
>>
>> Hi,
>> We have a problem with a sql query.
>> In a table, a column called "name" contains character data that may
>> include
>> alpha, numeric and special characters. It is required to sort in such a
>> way
>> that names starting with alpha characters are listed first, then numerals
>> and finally special characters.
>> For example, the column contains data: [Bhaskar, 5th user, anand, ##,
>> Anand,
>> bhaskar ].
>> When lsited, it should appear as [Anand, anand, Bhaskar, bhaskar, 5th
>> user,
>> ##].
>> The query "select name from mytable order by name asc;" lists data in
>> this
>> order [##, 5th user, Anand, Bhaskar, anand, bhaskar], which is not
>> correct.
>> Any ideas on this? All thoughts are welcome.
>> -Thanks
>> Harish
>> --
>> View this message in context:
>> http://old.nabble.com/SQL-query-on-sort-order-tp30455015p30455015.html
>> Sent from the SQLite mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users@sqlite.org
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
> 

-- 
View this message in context: 
http://old.nabble.com/SQL-query-on-sort-order-tp30455015p30463371.html
Sent from the SQLite mailing list archive at Nabble.com.

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to