Athenaで実行しようとしている次のクエリがあります。
SELECT observation_date, COUNT(*) AS count
FROM db.table_name
WHERE observation_date > '2017-12-31'
GROUP BY observation_date
ただし、このエラーが発生しています:
SYNTAX_ERROR: line 3:24: '>' cannot be applied to date, varchar(10)
これは私には奇妙に思えます。クエリにエラーがありますか、またはAthenaは日付列の大なり演算子を処理できませんか?
ありがとう!
この比較を行う前に、キャストを使用して日付を正しくフォーマットする必要があります。以下を試してください:
SELECT observation_date, COUNT(*) AS count
FROM db.table_name
WHERE observation_date > CAST('2017-12-31' AS DATE)
GROUP BY observation_date
Fiddlerで確認してください: SQL Fidle
UPDATE 17/07/2019
コメントを反映するために
SELECT observation_date, COUNT(*) AS count
FROM db.table_name
WHERE observation_date > DATE('2017-12-31')
GROUP BY observation_date
CAST(x AS date)
の便利なエイリアスである date 関数も使用できます。
SELECT *
FROM date_data
WHERE trading_date >= DATE('2018-07-06');