2017-05-03 16 views
0

テーブルが赤方偏移データベースにあります。 17DBから選択すると値が変更されます

は、私が発見したことであるとして、またはvarcharとして選択を実行したときに、私は別の取得値: サイズをFLOAT8:表には タイプとして定義された列「PERCENTILE」を持っています。

select PERCENTILE , cast(PERCENTILE AS varchar) from ... 

結果は次のとおりです。
0.156870898195838 | 0.15687089819583799

これを説明する方法はわかりません。キャスティングは値を変更する可能性がありますか?誰でも助けることができますか?

答えて

0

typecastingで値が異なる場合、SQLクライアントが何らかのフォーマットを適用しているか、何らかの形で結果を解釈していることを示すことがよくあります。

たとえば、一部のSQLクライアントでは、ユーザのローカルタイムゾーン(コンピュータに設定されている)にTIMESTAMP WITH TIMEZONEの値が表示されます。このような場合、SELECT date, date::textを実行すると、同様の情報がRedshiftから送信されても​​、がクライアント内で実際にという異なる値を返します。あなたの状況では

、いくつかの丸めが行われていることを表示されます。

0.156870898195838 
0.15687089819583799 

アマゾン赤方偏移から送信された完全な値は、おそらく第二値であるが、クライアントが少ない小数点以下の桁数に丸めfloat8を表示することができ。

関連する問題