sql >> Database >  >> RDS >> PostgreSQL

SQL-query om alle waarden te krijgen die een opsomming kan hebben

Als je een array wilt:

SELECT enum_range(NULL::myenum)

Als u een apart record wilt voor elk item in de opsomming:

SELECT unnest(enum_range(NULL::myenum))  

Aanvullende informatie

Deze oplossing werkt zoals verwacht, zelfs als uw opsomming niet in het standaardschema staat. Vervang bijvoorbeeld myenum met myschema.myenum .

Het gegevenstype van de geretourneerde records in de bovenstaande zoekopdracht is myenum . Afhankelijk van wat u doet, moet u mogelijk naar tekst casten. bijv.

SELECT unnest(enum_range(NULL::myenum))::text

Als u de kolomnaam wilt specificeren, kunt u AS my_col_name . toevoegen .

Met dank aan Justin Ohms voor het aanwijzen van enkele aanvullende tips, die ik in mijn antwoord heb verwerkt.



  1. Datum- en tijdseenheden in MySQL (volledige lijst)

  2. Bereken het aantal gelijktijdige gebeurtenissen in SQL

  3. Verwijzen naar Oracle door de gebruiker gedefinieerde typen via DBLINK?

  4. Kan de 'libpq-fe.h header niet vinden bij het installeren van pg gem