Re: functions in WHERE clause

Поиск
Список
Период
Сортировка
От Markus Schaber
Тема Re: functions in WHERE clause
Дата
Msg-id 4427E983.8050601@logix-tt.com
обсуждение исходный текст
Ответ на functions in WHERE clause  (sramsay@uga.edu)
Список pgsql-sql
Hi, Steve,

sramsay@uga.edu wrote:

> SELECT * from some_table WHERE
> test_for_equality_is_syntactically_ugly;

> The WHERE clause expects the function to return a boolean value.  I
> can certainly return a boolean value from a function, but here it
> seems to me that what the function really has to do is return a 
> set of boolean values -- the test in the WHERE clause sometimes
> evaluates to true and sometimes evaluates to false, and that is in
> turn used to constrain the query results.   But you can't return a
> set of anything (I don't think) in a WHERE clause, because it seems
> to want a singular boolean value.

And this is as it is intended. The equality test is applied row-by-row,
and for each row, it is either true or false, but not undecided.

So your query should look like

SELECT * FROM some_table WHERE your_function(column_a, column_b);

> Is it possible to do what I'm trying to do?  I've written a few
> simple sql and pl/pgsql functions over the years, but I'm no expert.

Yes, it is.

HTH,
Markus

-- 
Markus Schaber | Logical Tracking&Tracing International AG
Dipl. Inf.     | Software Development GIS

Fight against software patents in EU! www.ffii.org www.nosoftwarepatents.org


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

Предыдущее
От: Markus Schaber
Дата:
Сообщение: Re: [postgis-users] Problem using set-returning functions
Следующее
От: John DeSoi
Дата:
Сообщение: Re: Problem using set-returning functions