2016-10-10 14 views
0

私はこれを最初に尋ねるのではないが、これに対する答えを見つけることができないと確信しています。 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; 

は、その後私は浮くように私の整数列の列の型を変更しようとしましたが、これは私に次のエラーをGIES:

near "as": syntax error: 

私は次のポストからそのためのアイデアだ: をHow to cast computed column with correct decimal/$ result

答えて

1

算術演算で使用される値に1.0を掛けてみてください。

select 
    *, 
    ((int_EndTime*1.0)-(int_StartTime*1.0))/60 as dou_usage_min 
FROM tbl_unautho_usage; 

恐らく1倍の値で十分です。

+0

完全....ありがとう –

0

CAST expressionの正しい構文は、 "CAST(何かタイプAS)" です。

しかし、オペランドの少なくとも一方が浮動小数点数になるため、この場合には、浮動小数点数で行われるべき分割のために、それは十分である。

SELECT *, (int_EndTime - int_StartTime)/60.0 ... 
関連する問題