访问从mysqldb查询返回的python日期时间

访问从mysqldb查询返回的python日期时间,python,datetime,mysql-python,Python,Datetime,Mysql Python,当我执行下面的代码时: db = MySQLdb.connect("localhost","root","password","database") cursor = db.cursor() cursor.execute("SELECT * FROM reportPref WHERE lastDate LIKE '2015-11-17%'") records = cursor.fetchall() print records 它返回(为了简洁起见,我将结果缩短为一行): 索引14是datet

当我执行下面的代码时:

db = MySQLdb.connect("localhost","root","password","database")
cursor = db.cursor()
cursor.execute("SELECT * FROM reportPref WHERE lastDate LIKE '2015-11-17%'")

records = cursor.fetchall()
print records
它返回(为了简洁起见,我将结果缩短为一行):


索引14是datetime.datetime(2015,11,17,5,6,32)。有什么方法可以调用数据库使用datetime直接返回的datetime.datetime()吗?因为我实际上想做的是只花时间,并将其转换为秒,但我不知道如何只返回时间,而不做一些事情,比如分割返回的内容或尝试访问索引14的元组项,这不是我真正想要的,而且是复杂的。我想调用直接使用datetime方法调用返回的datetime.datetime()值。如果您有任何见解,我们将不胜感激。

您是否在问如何返回标量?所以不必做记录[0][14],而是直接记录=日期?如果是,您可以将查询更改为仅选择该字段

SELECT myDateCol FROM reportPref WHERE lastDate LIKE '2015-11-17%'
然后,或者将一个sql类作为抽象层写入MySQLdb,您可以根据您的用例对其进行自定义,或者使用sqlalchemy,它已经做到了这一点,并且具有标量函数


我解决这个问题的方法如下:

db = MySQLdb.connect("localhost","root","password","database")
cursor = db.cursor()
cursor.execute("SELECT * FROM reportPref WHERE lastDate LIKE '2015-11-17%'")

records = cursor.fetchall()

for record in records:
    rec = record[14]
    print rec.time() 
返回如下输出:

18:06:24
17:06:01
00:06:05
18:06:24
17:06:06
18:06:24
    .
    .
    .

这正是我需要的!谢谢大家的支持

不,我想知道,既然mysqldb将索引14作为datetime返回,是否有一种方法可以直接使用datetime模块查询数据库。或者类似的。最后我需要做的就是返回时间并将其转换为秒。这没有意义,你能添加一个你想要的例子吗。是的,对不起,我没有太多python经验。我想我应该修改我的问题。我只需要从索引14中获取时间,即元组条目3、4和5,并将其转换为秒。就这样。
18:06:24
17:06:01
00:06:05
18:06:24
17:06:06
18:06:24
    .
    .
    .