web-dev-qa-db-ja.com

タイムスタンプ付きのAWS Athena SQLクエリエラー

AWS Athenaに、タイムスタンプのデータ型を持つ「servertime」という名前の列を持つテーブルがあります。私はこのようなクエリを実行します

select * 
from table_name 
where servertime between '2018-04-01 00:00:00' and '2018-04-05 23:59:59';

それは私にこのエラーを与えます:クエリに次のエラーがあります:SYNTAX_ERROR:line 1:41: '=' cannot be applied to timestamp、varchar(19)

アテナでこれを解決するにはどうすればよいですか?そして、このテーブルからデータを取得することは重要なクエリです。

8

あなたが見ている問題はあなたの中間の状態に関連しています。 varcharと同じようにタイムスタンプを提示すると、Athenaはそれらをタイムスタンプに変換しません。

そのためには、明示的な型キャストを渡す必要があります。

select * from table_name 
where servertime 
   between TIMESTAMP '2018-04-01 00:00:00' 
   and TIMESTAMP '2018-04-05 23:59:59';
18
jens walter