sql >> Database teknologi >  >> RDS >> PostgreSQL

Vælg kolonner fra funktionskald i sqlalchemy core

Du vil gerne bruge >FunctionElement.alias() og den lette column() :

from sqlalchemy import func, select, column

stmt = select([column('col1'), column('col2')]).\
    select_from(func.my_function().alias())

Dokumentationen nævner specifikt Postgresql som et use case for denne konstruktion. Ovenstående producerer:

SELECT col1, col2 
FROM my_function() AS anon_1

Brug af parameteren _selectable af column() du kan også:

In [4]: fn = func.my_function().alias()

In [5]: stmt = select([column('col1', _selectable=fn),
   ...:                column('col2', _selectable=fn)])

In [6]: print(stmt)
SELECT anon_1.col1, anon_1.col2 
FROM my_function() AS anon_1

men siden _selectable efterlades udokumenteret, er det måske ikke en god idé.




  1. 4 måder at kontrollere, om der findes en tabel i MariaDB

  2. Mysql visualiseringsværktøjer

  3. Oracle SQL find tegn ¡ i data

  4. Oracle:Dage mellem to dato og Ekskluder hverdage hvordan man håndterer negative tal