PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Zapytanie SQL, aby uzyskać wszystkie wartości, jakie może mieć wyliczenie

Jeśli chcesz tablicę:

SELECT enum_range(NULL::myenum)

Jeśli chcesz mieć osobny rekord dla każdej pozycji w wyliczeniu:

SELECT unnest(enum_range(NULL::myenum))  

Dodatkowe informacje

To rozwiązanie działa zgodnie z oczekiwaniami, nawet jeśli wyliczenie nie znajduje się w domyślnym schemacie. Na przykład zastąp myenum z myschema.myenum .

Typ danych zwróconych rekordów w powyższym zapytaniu to myenum . W zależności od tego, co robisz, może być konieczne przesyłanie do tekstu. np.

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

Jeśli chcesz określić nazwę kolumny, możesz dołączyć AS my_col_name .

Podziękowania dla Justina Ohmsa za wskazanie kilku dodatkowych wskazówek, które zawarłem w mojej odpowiedzi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak UNION działa w PostgreSQL

  2. Najczęstsze scenariusze awarii PostgreSQL

  3. Czy istnieje odpowiednik PostgreSQL profilu SQL Server?

  4. Posiadanie grup według klauzul — GeneralBits elein

  5. Serwer Postgres nie odpowiada na żądanie nodejs