SQLAlchemy Core - Utilisation des fonctions

Certaines des fonctions importantes utilisées dans SQLAlchemy sont décrites dans ce chapitre.

Le SQL standard a recommandé de nombreuses fonctions qui sont implémentées par la plupart des dialectes. Ils renvoient une valeur unique basée sur les arguments qui lui sont passés. Certaines fonctions SQL prennent des colonnes comme arguments tandis que d'autres sont génériques.Thefunc keyword in SQLAlchemy API is used to generate these functions.

En SQL, now () est une fonction générique. Les instructions suivantes rendent la fonction now () en utilisant func -

from sqlalchemy.sql import func
result = conn.execute(select([func.now()]))
print (result.fetchone())

Un exemple de résultat du code ci-dessus peut être comme indiqué ci-dessous -

(datetime.datetime(2018, 6, 16, 6, 4, 40),)

D'autre part, la fonction count () qui retourne le nombre de lignes sélectionnées dans une table, est rendue en suivant l'utilisation de func -

from sqlalchemy.sql import func
result = conn.execute(select([func.count(students.c.id)]))
print (result.fetchone())

À partir du code ci-dessus, le nombre de lignes dans la table des étudiants sera récupéré.

Certaines fonctions SQL intégrées sont illustrées à l'aide de la table Employee avec les données suivantes -

ID Nom Des marques
1 Kamal 56
2 Fernandez 85
3 Sunil 62
4 Bhaskar 76

La fonction max () est implémentée en suivant l'utilisation de func de SQLAlchemy qui se traduira par 85, le total des notes maximales obtenues -

from sqlalchemy.sql import func
result = conn.execute(select([func.max(employee.c.marks)]))
print (result.fetchone())

De même, la fonction min () qui retournera 56, notes minimales, sera rendue par le code suivant -

from sqlalchemy.sql import func
result = conn.execute(select([func.min(employee.c.marks)]))
print (result.fetchone())

Ainsi, la fonction AVG () peut également être implémentée en utilisant le code ci-dessous -

from sqlalchemy.sql import func
result = conn.execute(select([func.avg(employee.c.marks)]))
print (result.fetchone())

Functions are normally used in the columns clause of a select statement. 
They can also be given label as well as a type. A label to function allows the result 
to be targeted in a result row based on a string name, and a type is required when 
you need result-set processing to occur.from sqlalchemy.sql import func

result = conn.execute(select([func.max(students.c.lastname).label('Name')]))

print (result.fetchone())