Casting pairs of floating point variables as a point in plpgsql

From: ishapiro(at)cogitations(dot)com (Irv Shapiro)
To: pgsql-sql(at)postgresql(dot)org
Subject: Casting pairs of floating point variables as a point in plpgsql
Date: 2002-02-18 19:02:10
Message-ID: 758d9f0.0202181102.77fbc9ea@posting.google.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I have a zip code database which includes pairs of floting point
numbers representing latitude and longitude. I can retieve this data
with the following query:

Declare

m_zip_info1 char(5);
m_zip_info2 char(5);
m_miles integer;
m_zipcode char(5) := ''60076'';

Begin

select logitude, latitude into m_zip_info1, m_zip_info2
from zipstate where zipcode = m_zipcode;

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;

I also tried the following, and Postgresql complained about the "::"

select (m_zip_info1,m_zip_info2)::point <@>
(m_merchant_zip1,m_merchant_zip2)::point into m_miles;

Any help would be greatly appreciated.

Irv
ishapiro(at)cogitations(dot)com

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Rolf Hug 2002-02-18 20:28:15 Re: all tables in a DB\?
Previous Message Kristian Eide 2002-02-18 18:54:42 Why is my index not used