2009/4/9 Vinicius <[email protected]>:
> Ola pessoal estou tendo um problema em uma query.
>
> $2 = longitude varchar
> $1 = latitude varchar
>
> qry := 'SELECT cast((''POINT(' || $2 || ' ' || $1 || ')''
> <->CIDADE.COORDENADA)*100 as float) AS MINDIS
> from CIDADE
> where cidade.id_class_group = ' || idClass ||
> ' and cidade.'||$5||' = 1 order by 1 limit 1;';
>
> execute qry into RsDis;
>
> _*ERRO:*_
> invalid input syntax for type point: "POINT(-49.000 -25.000)"
>
> Nao sei pq este erro, pois tenho uma outra funcao que utilizo o POINT da
> mesma forma e esta funcionando, a funcao OK esta abaixo:
>
> x := 'SELECT logradouro, bairro, cidade, estado, num_inicio, num_fim,
>
> distance( the_geom, GeomFromText( ''POINT(' || $2 || ' ' || $1 ||
> ')'', -1 ) ) as dif FROM mapas.'||$3||'
>
> WHERE distance( the_geom, GeomFromText( ''POINT(' || $2 || ' ' ||
> $1 || ')'', -1 ) ) <= 0.007 and logradouro is not null
>
> order by dif
>
> limit 1;';
>
> --
Creio que faltou uma vírgula, segundo o manual deveria ser:
POINT(-49.000, -25.000)
ou seja:
qry := 'SELECT cast((''POINT(' || $2 || ', ' || $1 || ')'' ...
Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral