sql >> Databasteknik >  >> RDS >> PostgreSQL

FEL:Kolumnindexet ligger utanför intervallet:1, antal kolumner:0

Geometriska typer kan matas in på flera sätt.

  • I det första formuläret, din ? parametrar ersätts inte med värden eftersom de är bokstavliga delar av en sträng. Så 0 parametrar förväntas ...

  • I den andra formen utan enstaka citattecken, din ? parametrar ersätts, men ((18.9750,72.8258), 5) tolkas som en radtyp som inte fungerar med circle() .

Du försöker anropa den geometriska funktionen circle() som tar en point och en double precision ("centrum och radie till cirkel"). Dessa är giltiga syntaxvarianter:

SELECT circle '((18.9750,72.8258), 5)'        AS cast_literal
     ' <(18.9750,72.82580),5>'::circle        AS cast_literal2
     , circle(point '(18.9750,72.8258)', '5') AS literal_point_n_radius
     , circle(point(18.9750,72.8258), '5')    AS point_n_literal_radius
     , circle(point(18.9750,72.8258), 5)      AS point_n_radius

SQL-fiol.
Casten till ::text är bara att sanera den förvirrade displayen i SQL-fiol

I ditt fall för att ange numeriska värden (inte en bokstavlig sträng), använd den sista formen och det borde fungera:

SELECT addressid, geocode
FROM   maddress
WHERE  geocode::point <@ circle(point(?,?), ?);

Om wso2dss (som jag inte har någon erfarenhet av) inte accepterar funktioner måste du använda en av de två första formerna och tillhandahålla en enkel parameter som sträng bokstavlig:

SELECT addressid, geocode
FROM   maddress
WHERE  geocode::point <@ circle ?;

... där parametern är den sammanlänkade literalen som visas ovan.

Du kunde låt Postgres göra sammanlänkningen och ändå skicka tre numeriska värden:

SELECT addressid, geocode
FROM   maddress
WHERE  geocode::point <@ ('(('::text || ? || ',' || ? || '),' || ? || ')')::circle;



  1. Oracle Client Blob 10K Begränsning med NHibernate och Mono?

  2. Finns det ett bättre sätt att tilldela behörigheter till tillfälliga tabeller i MySQL?

  3. ORA-29913:fel vid exekvering av ODCIEXTTABLEOPEN-utlysningen

  4. Hur man skapar en sammansatt primär nyckel i MySQL