Re: using a function in where - Mailing list pgsql-general

From Alban Hertroys
Subject Re: using a function in where
Date
Msg-id 458B6999-8E88-4C9F-A999-8DA2659F0A6C@gmail.com
Whole thread Raw
In response to using a function in where  (Glenn Schultz <glenn@bondlab.io>)
List pgsql-general
> On 3 Dec 2018, at 8:06, Glenn Schultz <glenn@bondlab.io> wrote:
>
> All,
> I am using the function below to convert a continuous variable to a binned value.  Sometimes a value other than zero
ispassed through the query. For example -.5 result value is passed to the query result.  The basic of the query is
below.  
>
> select
> incentivebin(wac, rate, .25)
> from
> my_table
> where incentivebin(was, rate, .25) = 0

> CREATE or REPLACE FUNCTION embs_owner.IncentiveBin(IN "Gwac" double precision,

> AS 'select ceiling(($1 - $2)/$3) *$3';

If the difference of (wac - rate) = -0.5, and you multiply that by 4 (divide by .25), ceil will round that correctly to
-2.If you then divide by 4 again, you get -0.5 back (which is twice your bin size). 

The result matches your function definition with the given parameters.


Alban Hertroys
--
If you can't see the forest for the trees,
cut the trees and you'll find there is no forest.



pgsql-general by date:

Previous
From: Andrew Gierth
Date:
Subject: Re: using a function in where
Next
From: Igor Korot
Date:
Subject: Re: How to watch for schema changes