2017-09-25 10 views
0
私はBigQueryの中に次のクエリを実行しようとしている(と失敗)午前

を私は常に私は、必死に試みたTIMESTAMPおよび標準SQLグーグルでBigQueryの

Query Failed 
Error: Invalid timestamp: '2017-09-18 00:00' 

メッセージが表示されます2017-09-18T00:00または従来のSQL timestamp > "2017-09-18 00:00"のように成功しません。

ありがとうございました。

+0

どのような種類のあなたの 'timestamp'列のですか? –

答えて

1

私は有効なタイムスタンプは時間、分、秒の時間部分を持っていると思います。あなたのタイムスタンプリテラルは秒の部分を省略します。それを含めてみてください:あなたは、タイムスタンプに秒を含める必要が理由

SELECT 
    user_id 
FROM 
    dataset.table 
WHERE 
    timestamp > TIMESTAMP('2017-09-18 00:00:00') 

、そしてなぜあなたの現在のタイムスタンプは意味をなさない、BigQueryには、内部エポック秒とタイムスタンプを保存するということです。秒を指定しなければ、タイムスタンプを確実に保存することはできません。 documentationから

あなたはUNIXタイムスタンプまたはカレンダー日付時刻のいずれかとTIMESTAMPデータ型を記述することができます。 BigQueryはTIMESTAMPデータをマイクロ秒精度のUNIXタイムスタンプとして内部的に保存します。 MM:SS documentation of bigqueryとして

+0

ありがとうございます。 –

1

日付と時刻の文字列

フォーマットYYYY-MM-DD HHの日付と時刻の文字列

を示唆しています。 UTCおよび のZ指定子がサポートされています。

YYYY-MM-DD HH:MMには、2017-09-18 00:00が指定されています。 2017-09-18 00:00:00を提供する必要があります。

ので

SELECT 
    user_id 
FROM 
    dataset.table 
WHERE 
    timestamp > TIMESTAMP("2017-09-18 00:00:00") 
+0

くそー、そうです。愚かな質問に感謝し、ごめんなさい。 –

0

を次のようにクエリがなります余分なゼロを指定せずにこの式を書くための別の方法は次のとおりです。

TIMESTAMP(DATE "2017-09-18") 
関連する問題