Services
24×7×365 Technical Support
Migration to PostgreSQL
High Availability Deployment
Database Audit
Remote DBA for PostgreSQL
Products
Postgres Pro Enterprise
Postgres Pro Standard
Cloud Solutions
Postgres Extensions
Resources
Blog
Documentation
Webinars
Videos
Presentations
Community
Events
Training Courses
Books
Demo Database
Mailing List Archives
About
Leadership team
Partners
Customers
In the News
Press Releases
Press Info
Services
24×7×365 Technical Support
Migration to PostgreSQL
High Availability Deployment
Database Audit
Remote DBA for PostgreSQL
Products
Postgres Pro Enterprise
Postgres Pro Standard
Cloud Solutions
Postgres Extensions
Resources
Blog
Documentation
Webinars
Videos
Presentations
Community
Events
Training Courses
Books
Demo Database
Mailing List Archives
About
Leadership team
Partners
Customers
In the News
Press Releases
Press Info
Facebook
Downloads
Home
>
mailing lists
Re: PostgreSQL equivalent of Oracle "member of" - Mailing list pgsql-general
From
Vadi
Subject
Re: PostgreSQL equivalent of Oracle "member of"
Date
March 29, 2019
14:19:45
Msg-id
1553853852.S.5890.27243.f4-234-218.1553858385.3134@webmail.rediffmail.com
Whole thread
Raw
In response to
Re: PostgreSQL equivalent of Oracle "member of"
(Thomas Kellerer <spam_eater@gmx.net>)
List
pgsql-general
Tree view
Hi Mr Kellerer
Thanks a lot for your reply and suggestion.
I will check it out.
Regards
Vadi
Bengaluru
India
On Fri, 29 Mar 2019 15:34:12 +0530 Thomas Kellerer wrote
>Vadi schrieb am 29.03.2019 um 10:44:
> I would like to know if there is any equivalent in PostgreSQL for the Oracle "member of" syntax.
>
> The usage is as shown below:
>
> I have used the Oracle sample HR schema for the below example:
>
> CREATE OR REPLACE TYPE params as table of varchar2 (100);
> /
>
> CREATE OR REPLACE function in_list (in_list in varchar2) return params pipelined as
> param_list varchar2(4000) := in_list || ',';
> pos number;
> begin
> loop
> pos := instr(param_list, ',');
> exit when nvl(pos, 0) = 0;
> pipe row (trim(substr(param_list, 1, pos - 1)));
> param_list := substr(param_list, pos + 1);
> end loop;
>
> return;
> end in_list;
> /
>
> CREATE TABLE tname as
> SELECT listagg(first_name, ', ') within group (order by first_name) first_name FROM employees;
>
> SELECT * FROM tname;
>
> SELECT * FROM employees
> WHERE first_name member of in_list(first_name);
I don't understand where the parameter to the in_list() functions comes from in the last query.
As written it would be the value from employees.first_name, which is not a comma separated list, so it doesn't really make sense.
I think what the in_list() function does, would be the equivalent to unnest/string_to_array
e.g.:
select *
from unnest(string_to_array('foo,bar', ',')) as t(name);
returns
name
----
foo
bar
If you just want to check if one string is contained in a comma separated list, you can use the ANY operator:
where first_name = any (string_to_array('foo,bar', ','))
Thomas
pgsql-general
by date:
Previous
From:
Thomas Kellerer
Date:
29 March 2019, 13:03:53
Subject:
Re: PostgreSQL equivalent of Oracle "member of"
Next
From:
Michael Paquier
Date:
29 March 2019, 15:58:11
Subject:
Re: stale WAL files?
Есть вопросы? Напишите нам!
Соглашаюсь с условиями обработки персональных данных
I confirm that I have read and accepted PostgresPro’s
Privacy Policy
.
I agree to get Postgres Pro discount offers and other marketing communications.
✖
×
×
Everywhere
Documentation
Mailing list
List:
all lists
pgsql-general
pgsql-hackers
buildfarm-members
pgadmin-hackers
pgadmin-support
pgsql-admin
pgsql-advocacy
pgsql-announce
pgsql-benchmarks
pgsql-bugs
pgsql-chat
pgsql-cluster-hackers
pgsql-committers
pgsql-cygwin
pgsql-docs
pgsql-hackers-pitr
pgsql-hackers-win32
pgsql-interfaces
pgsql-jdbc
pgsql-jobs
pgsql-novice
pgsql-odbc
pgsql-patches
pgsql-performance
pgsql-php
pgsql-pkg-debian
pgsql-pkg-yum
pgsql-ports
pgsql-rrreviewers
pgsql-ru-general
pgsql-sql
pgsql-students
pgsql-testers
pgsql-translators
pgsql-www
psycopg
Period
anytime
within last day
within last week
within last month
within last 6 months
within last year
Sort by
date
reverse date
rank
Services
24×7×365 Technical Support
Migration to PostgreSQL
High Availability Deployment
Database Audit
Remote DBA for PostgreSQL
Products
Postgres Pro Enterprise
Postgres Pro Standard
Cloud Solutions
Postgres Extensions
Resources
Blog
Documentation
Webinars
Videos
Presentations
Community
Events
Training Courses
Books
Demo Database
Mailing List Archives
About
Leadership team
Partners
Customers
In the News
Press Releases
Press Info
By continuing to browse this website, you agree to the use of cookies. Go to
Privacy Policy
.
I accept cookies