2017-06-23 6 views
0

repository.created_atEXTRACT()という機能を持つタイムスタンプ変数から日数を抽出できません。standardSQL:タイムスタンプからDAYを抽出できません

#standardSQL 
SELECT repository.created_at AS fechas, 
     EXTRACT(DAY FROM DATE repository.created_at) 
FROM `bigquery-public-data.samples.github_nested` 
LIMIT 100 

どのように解決しますか?

答えて

3
#standardSQL 
SELECT 
    repository.created_at AS fechas, 
    EXTRACT(DAY FROM PARSE_TIMESTAMP('%Y/%m/%d %X %z', repository.created_at)) 
FROM `bigquery-public-data.samples.github_nested` 
LIMIT 100 
1

フィールドrepository.created_atのタイプはSTRINGです。日を抽出する前に日付として解析する必要があります。

これは動作するはずです:

SELECT repository.created_at AS fechas, 
     EXTRACT(DAY FROM PARSE_DATE("%Y/%m/%d", 
SUBSTR(repository.created_at, 0, 10))) 
FROM `bigquery-public-data.samples.github_nested` 
LIMIT 100 
+0

おかげでたくさんの@Wouterを。私は、すべての従来のSQLを標準のSQLコードに移行しようとしています。その対処方法はありません。 –

+0

実際には、タイムゾーンを考慮していないため、このソリューションは間違った結果をもたらします。 –

関連する問題