[英]SQLLite - type casting in python
我是python的新手。 我將表數據從AWS Redshift移到python中的內存sqllite數據庫中。
請參考以下表格結構:
紅移表:
上欄中的我的值字段為Redshift時的Decimal。
當我嘗試將數據帶到sqllite時,我發現從Redshift獲得的結果中包含Decimal
關鍵字,因此我無法將其插入也標記為Decimal的sqllite表中(這是鏈接對於我之前提出的相同問題)。 所以我將數據類型更改為varchar(30),以便我的值可以適合sqllite表。
請參考下面的表結構以獲取我的內存sqllite表:
在內存中的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
。 雲有人向我解釋了這種行為,我在這里做錯了什么? 該如何處理?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.