Дата SELECT («сейчас») не работает в Python + SQLite - PullRequest
0 голосов
/ 03 марта 2012

В документации 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 ]

3 голосов
/ 03 марта 2012

Вам не хватает кавычек вокруг now.

Попробуйте c.execute("SELECT date('now');")

1 голос
/ 03 марта 2012

Вам не хватает тиков?Работает ли c.execute ('SELECT date (\' now \ ');')?

0 голосов
/ 05 февраля 2013

Литерал «сейчас» может быть опущен. Если функция 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...