dmitriy_one
dmitriy_one

Reputation: 627

SQL overlap statement

I'm trying to do overlap in SQL (using postgres) but receive an syntax error. And i do not know why I'm getting error and whats wrong with my SQL Statement

Error text

[42601] ERROR: syntax error at or near "[" Position: 296

SQL Statement

SELECT *,
ARRAY_AGG("reserve"."state_id" ) AS "states" FROM "orders_order"
            JOIN "reserve" ON ("order"."id" = "reserve"."order_id")
GROUP BY "order"."id"

HAVING (NOT (ARRAY_AGG("reserve"."state_id" )&& ['test']::varchar(255)[]))

Upvotes: 0

Views: 86

Answers (1)

user330315
user330315

Reputation:

As documented in the manual there are two ways to specify an array:

First with the array keyword:

array['test']

or as a string enclosed with curly braces:

'{test}'::text[]

In the second case the casting might or might not be needed depending on the context on where it's used.


There is no need to cast it to a varchar(255)[] array. text[] will do just fine - especially when comparing it to the result of an array_agg() which returns text[] as well.

Upvotes: 3

Related Questions