[英]Change type of calculated field in select query (sqlite)
我確定我不是第一個問這個問題的人,但是我找不到這個問題的答案:我在sqlite數據庫中的數據表上有一個選擇查詢。
select *, ((int_EndTime)-(int_StartTime))/60 as dou_usage_min FROM tbl_unautho_usage;
當我運行此命令時,我會從數據表中獲取所有字段,包括從新列計算到具有unix時間戳值的整數列。 但是,我希望計算列的類型為double。 通過上面的查詢,我得到一個整數類型。
select *, ((int_EndTime as float)-(int_StartTime as float))/60 as dou_usage_min FROM tbl_unautho_usage;
之后,我嘗試將整數列的列類型更改為float,但這會給我帶來以下錯誤:
near "as": syntax error:
我從以下帖子中得到了這個主意: 如何使用正確的十進制/ $結果強制轉換計算列
嘗試將算術運算中使用的值乘以1.0
。
select
*,
((int_EndTime*1.0)-(int_StartTime*1.0))/60 as dou_usage_min
FROM tbl_unautho_usage;
可能只有一個值乘以就足夠了。
CAST表達式的正確語法是“ CAST( 某類 AS 類型 )”。
但是在這種情況下,對於要用浮點數進行除法,至少一個操作數是浮點數就足夠了:
SELECT *, (int_EndTime - int_StartTime) / 60.0 ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.