Determining if "in a text set"

Поиск
Список
Период
Сортировка
От Richi Plana
Тема Determining if "in a text set"
Дата
Msg-id Pine.LNX.4.04.9903271223140.22809-100000@jaguar.mozcom.com
обсуждение исходный текст
Список pgsql-general
Hi,

I have a table/class with a text field which contains a single word
(possibly trailed by whitespaces). Given a phrase (a text literal composed
of words separated by one or more whitespaces), what's the best way to
SELECT those tuples with fields containing instances that match exactly
one of the words in the given string?

Example:

Table:
Tuple#   ...   FieldN
1        ...   'MON'
2        ...   'TUE'
3        ...   'THURS'
4        ...   'THU'
5        ...   'FRI'

Given phrase:
'MON TUE WED THURS'
Tuple 1 will match
Tuple 2 will match
Tuple 3 will match
Tuple 4 will NOT match
Tuple 5 will NOT match

Right now, I'm extracting (using strtok(), 8^P) each word from the given
phrase and using "SELECT * FROM {class} where FieldN LIKE '%{word}%'", but
it's terribly slow, relies on strtok() to parse words, and Tuple 4 above
will match.


L   L Richi Plana 8^)         ,-,-.     ,-,-.     ,-,-.     ,-,-.     ,-
LL LL Systems Administrator  / / \ \   / / \ \   / / \ \   / / \ \   / /
LLLLL Mosaic Communications, Inc. \ \ / /   \ \ / /   \ \ / /   \ \ / /
LLLLL mailto:richip@mozcom.com     `-'-'     `-'-'     `-'-'     `-'-'
------------------------------------------------------------------------
P G P Key available at http://www2.mozcom.com/~richip/richip.asc
Tired of Spam? Join this CAUCE! http://www.cauce.org/


В списке pgsql-general по дате отправления:

Предыдущее
От: John Steely
Дата:
Сообщение: Re: How do I "Insert" using a type member?
Следующее
От: Peter Davidse
Дата:
Сообщение: Postgres and Perl5 and apache