Lorsque vous utilisez Elixir, un type d'ORM Python, je laisserai un moyen lorsque vous aurez besoin d'écrire SQL directement.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from elixir import *
days = 10
metadata.bind = "mysql://userid:[email protected]/test"
setup_all()
sql = """
SELECT DATE_FORMAT( NOW() - INTERVAL %(days)s DAY, '%%Y-%%m-%%d' ) date,
DATE_FORMAT( NOW(), '%%Y-%%m-%%d' ) today
FROM DUAL
"""
conn = metadata.bind.engine.connect()
result = conn.execute( sql, { "days": days } )
for row in result:
print "%s%il y a j jours: %s" % ( row.today, days, row.date )
Le résultat de l'exécution est le suivant.
2014-04-18 il y a 10 jours: 2014-04-08
La réalité est que vous utilisez l'API SQL Alchemy qu'Elixir enveloppe.
Il peut être plus facile à utiliser si vous savez comment exécuter SQL en utilisant d'anciens espaces réservés.
Recommended Posts