簡體   English   中英

更改選擇查詢中的計算字段的類型(sqlite)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM