2009/4/9 Vinicius <[email protected]>: > ja tentei com a virgula tbm e nao funcionou. Na funcao que esta > funcionando tbm nao tem a virgula > > Osvaldo Kussama wrote: >> 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 || ')'' ... >>
Você tem certeza que POINT(x, y) deve estar entre ' (plica ou apóstrofo)? Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
