SELECT日期('now')在Python + SQLite中不起作用

时间:2012-03-03 18:12:43

标签: python sqlite

the SQLite documentation中,它表示您可以通过运行查询来获取当前日期

SELECT date('now');

实际上它在SQLite命令行中起作用:

sqlite> SELECT date('now');
2012-03-03

但是,当我尝试在Python程序中使用它时,相同的查询不起作用:

import sqlite3
conn=sqlite3.connect('results.db')
c=conn.cursor()
c.execute('SELECT date(now);')

no such column: now

有什么建议吗?

3 个答案:

答案 0 :(得分:3)

now周围缺少引号。

尝试c.execute("SELECT date('now');")

答案 1 :(得分:1)

你错过了一些蜱吗? c.execute('SELECT date(\'now now');')有效吗?

答案 2 :(得分:0)

'now'文字可以省略。如果是date()函数 没有参数,假设'now'字符串。所以 脚本可以写成如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sqlite3 as lite

con = lite.connect(':memory:')

with con:

    cur = con.cursor()     
    cur.execute("SELECT date()")
    today = cur.fetchone()[0]

    print today


$ ./today.py
2013-02-05