2012-03-03 61 views
0

the SQLite documentation,它說,你可以通過運行查詢選擇日期(「現在」)不會在Python + SQLite的工作

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
各地 now

你錯過了引號。

嘗試c.execute("SELECT date('now');")

1

你是否缺少一些蜱? 待辦事項c.execute( '選擇日期(\' 現在\ ');')的作品?

+0

這個工作,所以確實由以上提供@grifaton答案:所以 腳本可以按如下方式寫入。 – Renan 2012-03-03 18:19:02

0

的「現在」的文字可以被省略。如果date()函數 沒有參數,假定「現在」的字符串。

#!/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