from sqlalchemy import Date, cast
from datetime import date
my_data = session.query(MyObject).\
filter(cast(MyObject.date_time,Date) == date.today()).all()
from sqlalchemy import func
from datetime import date
my_data = session.query(MyObject).filter(
func.date(MyObject.date_time) == date.today()
).all()
呼叫func.date
from sqlalchemy import select, func
print select([func.date('2004-10-19 10:23:54')])
将生成以下SQL:
SELECT date(:date_2) AS date_1
您还可以声明自己的SQL函数快捷方式:
from sqlalchemy.sql.functions import GenericFunction
from sqlalchemy.types import DateTime
class convert_tz(GenericFunction):
"""
Sqlalchemy shortcut to SQL convert timezone function
:param DateTime datetime
:param str from_tz: The timezone the datetime will be converted from
:param str to_tz: The timezone the datetime will be converted from
:returns: Datetime in another timezone
:rtype: DateTime or None if timezones are invalid
"""
type = DateTime
用法如下:
from sqlalchemy import select, func
print select([func.convert_tz(func.now(), '+00:00', '-05:00')])
将生成以下SQL:
SELECT convert_tz(now(), :param_1, :param_2) AS convert_tz_1
4条答案
按热度按时间myzjeezk1#
以保证任何网络搜索都不会出错。
fafcakar2#
可以使用
func
模块调用本机SQL函数呼叫
func.date
将生成以下SQL:
您还可以声明自己的SQL函数快捷方式:
用法如下:
将生成以下SQL:
7kjnsjlb3#
在PostgreSQL中,如果date_time_field是表中的一个字段,那么查询器必须这样。从Mytable中选择 *,其中date_time_field = '2011-08-16'
c9x0cxw04#
以下是同样适用于SQLite的通用解决方案: