@DTPlayer

Как решить проблему с выводом в sqlite3?

Код:
import sqlite3
import datetime

with sqlite3.connect('test_db', detect_types = sqlite3.PARSE_DECLTYPES | sqlite3.PARSE_COLNAMES) as con:
    cur = con.cursor()
    try:
        data = cur.execute('SELECT * FROM vip_users').fetchall()
        print(data)
    except sqlite3.OperationalError:
        print('ERROR')

Ошибка:

File "/home/lastwek/Рабочий стол/bot/test.py", line 7, in
data = cur.execute('SELECT * FROM vip_users').fetchall()
File "/usr/lib/python3.8/sqlite3/dbapi2.py", line 64, in convert_date
return datetime.date(*map(int, val.split(b"-")))
ValueError: invalid literal for int() with base 10: b'23 13:28:32.725766'

Данные в БД:
5fbbbae5b32e9805687440.png
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
@o5a
Судя по всему поле в таблице было создано как DATE, а не TIMESTAMP, поэтому при выгрузке оно пытается преобразовать к типу DATE без времени.

Можно или использовать правильный тип поля изначально, или явно указать тип в запросе
select time_to_next_pay as "time_to_next_pay [timestamp]" from vip_users
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы