Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Oracle到SQLAlchemy查询中的日期_Python_Sql_Oracle_Sqlalchemy - Fatal编程技术网

Python Oracle到SQLAlchemy查询中的日期

Python Oracle到SQLAlchemy查询中的日期,python,sql,oracle,sqlalchemy,Python,Sql,Oracle,Sqlalchemy,使用普通的Oracle SQL,我将使用: select * from mytable where to_date(date_d, 'dd-mon-yyyy') == to_date('01-Jan-2013', 'dd-mon-yyyy') 现在使用SQLAlchemy,我不知所措 from datetime import datetime dt = myTable.c.date_d == datetime(2013, 1, 1) q = session.query(myTable).f

使用普通的Oracle SQL,我将使用:

select *
from mytable
where 
to_date(date_d, 'dd-mon-yyyy') == to_date('01-Jan-2013', 'dd-mon-yyyy')
现在使用SQLAlchemy,我不知所措

from datetime import datetime

dt = myTable.c.date_d == datetime(2013, 1, 1)
q = session.query(myTable).filter(dt)
q.first()

将给我不正确的结果,因为date_d是varchar,因此它不会转换为date,除非我运行Oracle函数转换查询中的数据类型。我该怎么做呢?

原来我不需要转换数据类型。SQLAlchemy似乎透明地做到了这一点。但是,如果我想明确地这样做:

from sqlalchemy import func

dt = func.to_date(myTable.c.date_d, 'dd-mon-yyyy') == datetime(2013, 1, 1)
q = session.query(dt)
q.first()

我的错误结果是由于一个无关的错误。

步骤1 -停止存储日期作为文本。@ DanBracuk,认为这是一个智力练习。