From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | ishapiro(at)cogitations(dot)com (Irv Shapiro) |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Casting pairs of floating point variables as a point in plpgsql |
Date: | 2002-02-22 00:18:26 |
Message-ID: | 12044.1014337106@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
ishapiro(at)cogitations(dot)com (Irv Shapiro) writes:
> How do I cast the logitude and latitude floatig point numbers, stored
> in my plpgsql variables into a point datatype so I can use it with the
> earthdistance function.
> I tried the following and it returns a syntax error on the "as":
> select cast((m_zip_info1, m_zip_info2) as point) <@>
> cast((m_merchant_zip1, m_merchant_zip2) as point) into m_miles;
You cannot "cast" two floats into a point (a cast always operates on
a single data value). However, a moment's perusal of pg_proc shows
that there is a function point(float8,float8), so this should work:
select point(m_zip_info1, m_zip_info2) <@>
point(m_merchant_zip1, m_merchant_zip2) into m_miles;
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2002-02-22 01:01:47 | Re: Permanent fatal errors |
Previous Message | Richard Emberson | 2002-02-21 22:34:59 | Finding matching columns from two tables |