Re: SQL command speed
От | Stephan Szabo |
---|---|
Тема | Re: SQL command speed |
Дата | |
Msg-id | 024001bfc114$b25c18b0$0c64010a@kick.com обсуждение исходный текст |
Ответ на | SQL command speed (Kate Collins <klcollins@wsicorp.com>) |
Список | pgsql-sql |
I didn't see a function that would do what you wanted to do, but I guess you could do the trimming in a plpgsql function though... (Since I don't have a 7.0 system to test with, these were only tested on an old 6.5.1 database)... create function trimthe(text) returns text as ' begin if (substr($1, 1, 4) = \'The \' thenreturn substr($1, 5); end if; -- add other prefix checks here... return $1; end; ' language 'plpgsql'; and then select ordering by that... I guess a more general function could be: create function ltrimstr(text, text) returns text as ' beginif position($2 in $1) = 1 then return substr($1, char_length($2)+1); end if; return $1; end; ' language 'plpgsql'; ----- Original Message ----- From: "Ross J. Reedstrom" <reedstrm@wallace.ece.rice.edu> To: <pgsql-sql@postgresql.org> Sent: Thursday, May 18, 2000 1:39 PM Subject: Re: [SQL] SQL command speed > Hey crew: > I've got a relatively simple SQL problem. In a db backed web site > we're building, I'd like to fill a dropdown box with the contents of a > validation table, in this case research institutions. I want to sort them > alphabetically, but using "library rules": i.e. skip inital articles, > since we've a few 'The University of Foo" and "The Johns Hopkins > University", for example. > > I thought I had it with this SQL: > > SELECT InstName from Institutions ORDER BY ltrim (InstName, 'The'); > > Looked good, until I found 'Texas A&M University' sorting below York. > > Seems ltrim() removes inital charaters from the set of charaters, not > inital strings, so I was sorting on 'xas A&M University' > > Anyone have some magic solution for this?
В списке pgsql-sql по дате отправления: