Right, i have all my attention on the "GGGG The Yeti" order, and didn't see the rest.
This is the right structure including "The" in the middle : mysql> SELECT * FROM names ORDER BY case when substring(name,1,3)='The' then REPLACE(name,'The ','') -> else name end; +----------------+ | name | +----------------+ | AAAA | | AAAA | | The AAAA | | The AAAA | | BBBB | | GGGG | | GGGG The Yeti | | GGGG Xylophone | | GGGG Zyxel | | woohoo | | The ZZZZ | | The ZZZZ | | ZZZZ | +----------------+ 13 rows in set (0.02 sec) Hope that's better Mathias Selon Hassan Schroeder <[EMAIL PROTECTED]>: > Mathias wrote: > > > you didn't give an alternative, but i've forgotten just a '^' : > > > mysql> SELECT * FROM names ORDER BY REPLACE(name,'^The ',''); > > No, sorry -- that doesn't work at all; REPLACE takes a string, > not a regex. Look at your example below: 'The AAAA' should be > after 'AAAA'; 'ZZZZ' should be before 'The ZZZZ'. And so on. > > +----------------+ > > | name | > > +----------------+ > > | AAAA | > > | AAAA | > > | BBBB | > > | GGGG | > > | GGGG The Yeti | <==== Rigth order > > | GGGG Xylophone | > > | GGGG Zyxel | > > | The AAAA | > > | The AAAA | > > | The ZZZZ | > > | The ZZZZ | > > | ZZZZ | > > +----------------+ > > Quick test: SELECT REPLACE(name,'^The ','woohoo') FROM names; -- :-) > > -- > Hassan Schroeder ----------------------------- [EMAIL PROTECTED] > Webtuitive Design === (+1) 408-938-0567 === http://webtuitive.com > > dream. code. > > > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] > > Hope that helps :o) Mathias -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]