Я новичок в питоне.
Я перемещаю свои данные таблицы из AWS Redshift в базу данных sqllite памяти в
питон.
Пожалуйста, обратитесь к структуре таблицы ниже:
Таблица красного смещения:

Мое значение в приведенном выше столбце в десятичном виде при Redshift.
Когда я попытался перенести данные в sqllite, я обнаружил, что результат, который я получаю из Redshift, содержит ключевое слово Decimal
, поэтому я не смог вставить его в таблицу sqllite, которая также была помечена как десятичная. (Вот ссылка для той же проблемы, которую я поднял ранее). Поэтому я изменил свой тип данных как varchar (30), чтобы мои значения могли помещаться в таблицу sqllite.
Пожалуйста, обратитесь к приведенной ниже структуре таблицы для таблицы sqllite my in memory:
в памяти sqllite таблицы

Теперь я хотел сделать сумму значения столбца на основе метки времени в моем скрипте Python, но я не смог получить ожидаемый результат.
Вот запрос, который я использую в Redshift для получения суммы, и я получаю ожидаемый результат:
select sum(value) from table where id = 9831 and item_date = '2018-11-01' and to_char(item_datetime, 'HH24MI') between '0000' and '2359';
Вот запрос, который я использую в своем скрипте, чтобы напечатать столбец значения в decimal
и item_datetime в strftime
, чтобы получить требуемый вывод:
select sum(CAST(value as decimal)) from table where id = 9831 and item_date = '2018-11-01' and strftime(item_datetime, 'HH24MI') between '0000' and '2359';
Но я получаю вывод как None
.
Облако, кто-нибудь объяснит мне такое поведение и что я здесь не так делаю?
Как бороться с этим вопросом?