On Tue, Aug 16, 2005 at 01:54:13AM -0300, Marc G. Fournier wrote:
>
> CREATE TABLE customers (
>   customer_id SERIAL,
>   monthly_balance DECIMAL(7,2)[12]
> );
> 
> Is it possible to create an INDEX on customers.monthly_balance such that I 
> could do something like:
> 
> SELECT * FROM customers WHERE monthly_balance[6] = 0.00;

You could use expression indexes, one per month:

CREATE INDEX customers_mb_1_idx ON customers ((monthly_balance[1]));
CREATE INDEX customers_mb_2_idx ON customers ((monthly_balance[2]));
etc.

> SELECT * FROM customers WHERE 0.00 = any (monthly_balance);

Not sure about that one.

-- 
Michael Fuhr

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to