3 つの列があります 1. dd/mm/yyyy (文字列として保存) 2. アプリの app_id と #downloads
1 週間以内にダウンロードされたアプリの一意の ID を見つける必要があります。
ありがとうございました
3 つの列があります 1. dd/mm/yyyy (文字列として保存) 2. アプリの app_id と #downloads
1 週間以内にダウンロードされたアプリの一意の ID を見つける必要があります。
ありがとうございました
次のようなものを使用して、dd/MM/yyyy 文字列を BigQuery タイムスタンプに変換できます。
SELECT TIMESTAMP(year + '-' + month + '-' + day) as output_timestamp
FROM (
SELECT
REGEXP_EXTRACT(input_date, '.*/([0-9]{4})$') as year,
REGEXP_EXTRACT(input_date, '^([0-9]{2}).*') as day,
REGEXP_EXTRACT(input_date, '.*/([0-9]{2})/.*') AS month
FROM
(SELECT '30/10/2015' as input_date),
(SELECT '25/01/2015' as input_date)
)
それらをタイムスタンプに変換すると、何をしようとしているのかによっては、日付と時刻の関数が役立つ場合があります。
REGEXP_REPLACE で短くする:
SELECT ds,
TIMESTAMP(REGEXP_REPLACE(ds, r'(..)/(..)/(....)', r'\3-\2-\1')) ts
FROM (SELECT '23/03/2015' ds)
編集
先行ゼロ以外の日付の更新バージョン:
SELECT ds,
TIMESTAMP(REGEXP_REPLACE(ds, r'(.?.)/(..)/(....)', r'\3-\2-\1')) ts
FROM (SELECT '1/01/2017' ds)