Hi pá 29. 10. 2021 v 19:21 odesílatel Philip Semanchuk < phi...@americanefficient.com> napsal:
> Hi, > I would appreciate help with the syntax for querying an array of strings > declared as a psql variable. Here's an example. > > \set important_days ARRAY['monday', 'friday'] > > select 1 where 'monday' = ANY(:important_days); > ERROR: 42703: column "monday" does not exist > LINE 1: select 1 where 'monday' = ANY(ARRAY[monday,friday]); > > select 1 where 'monday' = ANY(:"important_days"); > ERROR: 42703: column "ARRAY[monday,friday]" does not exist > LINE 1: select 1 where 'monday' = ANY("ARRAY[monday,friday]"); > > I'm doing something wrong but I can't figure out what. > > My real-world use case is that I have a psql script that will execute > several queries on a long list of strings, and rather than repeat those > strings over and over in the script, I'd like to declare them once at the > top of the script and then refer to the variable after that. Bonus points > if there's a way to do a multiline declaration like -- > > \set important_days ARRAY['monday', > 'friday'] > > Thanks for reading > Philip > psql variables can hold only text. There is not any type - all is just text. Regards Pavel